打印
[资料分享]

SM2算**能简述(一) 数字签名生成流程

[复制链接]
1424|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 用户的私钥 )

使用特权

评论回复

相关帖子

沙发
LITY2016| | 2023-3-15 15:41 | 只看该作者
公钥和私钥哪个用于加密 哪个用于解密? 

使用特权

评论回复
板凳
POTS1| | 2023-3-15 16:23 | 只看该作者
LITY2016 发表于 2023-3-15 15:41
公钥和私钥哪个用于加密 哪个用于解密? 

签名验签功能不是加解密

使用特权

评论回复
地板
xuanzhuandemuou| | 2023-3-16 08:56 | 只看该作者
SM2算法速度快吗?验签速度如何?

使用特权

评论回复
5
李阿淇33| | 2023-3-16 09:22 | 只看该作者
简单讲,SM2签名速度快,验签速度慢,这点和RSA算法的特性正好相反。另外,加解密速度和验签速度相当。

使用特权

评论回复
6
suibianqiming| | 2023-3-16 10:12 | 只看该作者
签名值长度是多少,用户ID有什么限制吗

使用特权

评论回复
7
yuzuixue123| | 2023-3-16 15:20 | 只看该作者
签名长度64字节,用户ID长度最大可定义8K字节

使用特权

评论回复
8
Nic浩| | 2023-3-17 10:31 | 只看该作者
SM2算法和ECC算法有什么区别,哪种更好?

使用特权

评论回复
9
TT210713|  楼主 | 2023-3-17 12:38 | 只看该作者
Nic浩 发表于 2023-3-17 10:31
SM2算法和ECC算法有什么区别,哪种更好?

ECC:椭圆曲线密码,是RSA的后继更短的密钥长度、更快的签名、更快的密钥协商。SM2:国密即国家密码局认定的国产密码算法。该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。

使用特权

评论回复
10
LITY2016| | 2023-3-17 13:04 | 只看该作者
楼主可以推荐一款支持SM2算法的芯片吗?

使用特权

评论回复
11
POTS1| | 2023-3-17 13:31 | 只看该作者
LITY2016 发表于 2023-3-17 13:04
楼主可以推荐一款支持SM2算法的芯片吗?

据说凌科芯安有一款支持SM2算法的芯片,具体的可以咨询他们家客服

使用特权

评论回复
12
Tomorrowtoday| | 2023-3-17 15:36 | 只看该作者
文中说到私钥用于产生签名,那公钥呢?

使用特权

评论回复
13
李阿淇33| | 2023-3-20 09:01 | 只看该作者
Tomorrowtoday 发表于 2023-3-17 15:36
文中说到私钥用于产生签名,那公钥呢?

公钥用来验证签名

使用特权

评论回复
14
Tomorrowtoday| | 2023-3-20 09:26 | 只看该作者
据说国密SM2算法是一种高安全的算法,使用过程中有较强的安全保障,有支持这种算法的加密芯片吗

使用特权

评论回复
15
yuzuixue123| | 2023-3-20 13:39 | 只看该作者
用过LKT的加密芯片,不错

使用特权

评论回复
16
xuanzhuandemuou| | 2023-3-20 14:21 | 只看该作者
SM2算法的签名速度和消息量成正比吗?

使用特权

评论回复
17
TT210713|  楼主 | 2023-3-20 15:33 | 只看该作者
xuanzhuandemuou 发表于 2023-3-20 14:21
SM2算法的签名速度和消息量成正比吗?

肯定消息量越大签名时间越长,但是不存在线性关系。消息量需要先经过SM3摘要后再使用速度非常快,主要是后面的点乘运算占时间。

使用特权

评论回复
18
suibianqiming| | 2023-3-20 20:07 | 只看该作者
有没有支持SM2算法的芯片推荐一下

使用特权

评论回复
19
pinbo2008| | 2023-3-21 08:46 | 只看该作者
suibianqiming 发表于 2023-3-20 20:07
有没有支持SM2算法的芯片推荐一下

可以看下凌科家的LKT4305GM芯片,我司刚好用过。

使用特权

评论回复
20
Nic浩| | 2023-3-21 09:16 | 只看该作者
那要想使用的话,还需要自己去写代码吗,有现成的代码,最近需要用到国密

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

173

帖子

0

粉丝