"); //-->
数字签名生成流程
SM2数字签名算法由一个签名者对数据产生数字签名,并由一个验证者验证签名的可靠性。每个签名者有一个公钥和一个私钥,其中私钥用于产生签名,验证者用签名者的公钥验证签名。在签名的生成过程之前,要用密码杂凑函数对M (包含ZA和待签消息M)进行压缩;在验证过程之前,要用密码杂凑函数对M′(包含ZA和验证消息M′)进行压缩。
SM2推荐椭圆曲线参数如下:
使用素数域256位椭圆曲线
椭圆曲线方程:y2 = x3 + ax + b
p= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF
a= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
b= 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93
n= FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF 7203DF6B 21C6052B 53BBF409 39D54123
Gx= 32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7
Gy= BC3736A2 F4F6779C 59BDCEE3 6B692153 D0A9877C C62A4740 02DF32E5 2139F0A0
数字签名生成流程:

关键参数说明:
ZA=H256(ENT LA || IDA || a || b || xG || yG || xA || yA) (SM3算法做摘要)
ENT LA : 用户ID的位长度
IDA :用户ID
xA :公钥X
yA :公钥Y
M(—) :ZA || M (ZA 与 M拼接)
e : 密码杂凑函数作用于消息M的输出值(SM3(ZA||M)预处理得到的结果)
k : [1,n-1]范围内的随机数
r : (e+x1)mod n (mod同余定理)
S :((1+dA)-1 *(k-r*dA)) mod n (dA 用户的私钥 )
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
人形机器人,带火这些国产芯片
外媒:中国推动在电动汽车中使用国产芯片
在上海,国产芯片被车企「哄抢」
MN63Y2008资料分享,防抄板
我公司开发新设备,想加入版权保护进去,不知道加密芯片能不能用?有了解的帮帮忙
安世被“抢”:国产替代选型指南
中国半导体去库存调查:有商户花费千万元囤货,百万元卖掉
液晶资料
LKT4200HS 32位高性能防盗版加密芯片
加密芯片目前发展到什么程度了,几年没用了,有没有新的方式方法啊?
程序保护类加密芯片 加密原理是什么?
SD卡硬件加密芯片
芯片脱钩?车企被要求尽可能多用国产芯片
上海交大宣布量子点液态生物芯片实现国产
无问芯穹打通七家国产芯片DeepSeek-R1适配优化,助力全国产化AI产业闭环构建
加密芯片DM2016在数字电视加密中的应用
行业专业加密芯片
大嘴业话-半导体行业现状
上海:加快智算芯片国产化部署
家电企业造芯片,还在被嘲吗?
加密芯片应用解决方案