该资源基于
发布时间
阅读量:
阅读量
2021SC@SDUSC
数字签名
1. 参数与密钥产生
参数的产生、密钥的产生与SM2加密解密算法相同。
2. 数字签名生成验证过程
1.SM2数字签名生成算法
假设有待签名的消息为M,则用于生成消息M的数字签名(r,s),由作为该操作执行者的用户A完成相应运算步骤:
(1)计算\overline{M}=Z_A || M其中ZA代表用户A的身份识别信息、部分椭圆曲线系统参数以及该用户的公开密钥组成的综合摘要信息;
(2)计算,e=H_v (\overline{M})并将生成e的数据类型转换成整数型;
(3)使用随机数发生器产生随机数k∈[1,n-1]
(4)通过椭圆曲线运算得到点(x_1, y_1), 其中G为该椭圆曲线上的生成元, 点(x_1, y_1)位于该曲线上;
(5)计算r=(x_1+e)\mod n, 当r等于零或与k之和模n等于零时, 返回至步骤(3)重新生成随机数;
(6)计算s=((1+d_A)^{-1}⋅(k-rd_A))modn,若计算的s值为0,则返回步骤(3)重新生成随机数;
通过获取(r, s)数据类型,并将其转化为字节串形式,则消息M的签名值即为此处计算所得的结果。
为了验证消息M'及其数字签名(r',s')的有效性,请确认该消息
全部评论 (0)
还没有任何评论哟~
