| 用户ID就是:为用户身份标识,具体见下面SM2算法预处理的第一步,主要是不知道这个值在SM2算法寄存器里面是多少或者是怎么设置的?
 另外,上一个关于SM2加密和解密的疑问,恳请回复下,目前在做项目需要使用SM2的硬件加解密。
 谢谢!
 
 4. sm2 签名算法
 4.1 预处理1
 预处理1是指使用签名方的用户身份标识和签名方公钥,通过运算得到Z值的过程。Z值用于预处理2。
 输入:
 ID:字符串,用户身份标识
 Q:SM2PublicKey,用户的公钥
 输出:
 Z:字节串,预处理1的输出
 计算公式:Z = S M 3 ( E N T L ∣ ∣ I D ∣ ∣ a ∣ ∣ b ∣ ∣ x G ∣ ∣ y G ∣ ∣ x A ∣ ∣ y A )
 
 参数说明:
 ENTL:为由2个字节标识的ID的比特长度;
 ID:为用户身份标识。无特殊约定的情况下,用户身份标识ID的长度为16字节,其默认值从左至右依次为:0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38。
 a,b:为系统曲线参数;
 x G ,   y G \displaystyle x_G,\ y_G xG, yG 为基点;
 x A ,   y A \displaystyle x_A,\ y_A xA, yA 为用户的公钥。
 |