zntsbkhhh的个人空间 https://www.eechina.com/space-uid-161533.html [收藏] [复制] [RSS]

博客

SM2算法功能简述(一)

热度 9已有 643 次阅读2023-3-15 11:27 | 加密

数字签名生成流程 

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 用户的私钥 )


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (19 个评论)

回复 xiaoyuhzou1228 2023-3-15 14:44
公钥和私钥哪个用于加密  哪个用于解密?
回复 kessy1 2023-3-15 15:15
签名验签功能不是加解密
回复 ?-о 2023-3-15 16:18
SM2算法速度快吗?验签速度如何?
回复 tyl2010 2023-3-15 17:04
签名值长度是多少,用户ID有什么限制吗
回复 Test_wf 2023-3-16 13:08
签名长度64字节,用户ID长度最大可定义8K字节
回复 sunxiang0506 2023-3-16 13:23
SM2算法和ECC算法有什么区别,哪种更好?
回复 zntsbkhhh 2023-3-16 16:10
ECC:椭圆曲线密码,是RSA的后继更短的密钥长度、更快的签名、更快的密钥协商。SM2:国密即国家密码局认定的国产密码算法。该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。
回复 QL87 2023-3-17 13:04
楼主可以推荐一款支持SM2算法的芯片吗?
回复 wang0327 2023-3-17 14:03
据说凌科芯安有一款支持SM2算法的芯片,具体的可以咨询他们家客服
回复 ?-о 2023-3-17 15:18
文中说到私钥用于产生签名,那公钥呢?
回复 kessy1 2023-3-20 11:27
公钥用来验证签名
回复 zntsbkhhh 2023-3-20 13:20
据说国密SM2算法是一种高安全的算法,使用过程中有较强的安全保障,有支持这种算法的加密芯片吗
回复 sunxiang0506 2023-3-20 13:52
用过LKT的加密芯片,不错
回复 xiaoyuhzou1228 2023-3-20 13:59
SM2算法的签名速度和消息量成正比吗?
回复 miniminimini 2023-3-20 14:23
xiaoyuhzou1228: SM2算法的签名速度和消息量成正比吗?
肯定消息量越大签名时间越长,但是不存在线性关系。消息量需要先经过SM3摘要后再使用速度非常快,主要是后面的点乘运算占时间。
回复 tyl2010 2023-3-20 14:58
有没有支持SM2算法的芯片推荐一下
回复 QL87 2023-3-20 15:13
可以看下凌科家的LKT4305GM芯片,我司刚好用过。
回复 Test_wf 2023-3-20 15:20
那要想使用的话,还需要自己去写代码吗,有现成的代码,最近需要用到国密
回复 miniminimini 2023-3-20 15:34
其实这些代码都有现成的网上很多,一般用国密的项目都配一个加密 IC,如果想要代码,可以跟IC厂商要一份配套的就行了

facelist

您需要登录后才可以评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
返回顶部