【技术实现步骤摘要】
一种基于SM2批量验证签名的方法、装置及介质
[0001]本专利技术涉及签名批量验证
,并且更具体地,涉及一种基于SM2批量验证签名的方法、装置及介质。
技术介绍
[0002]SM2算法是国家密码管理局发布的基于椭圆曲线的公钥密码算法,是我国商用密码算法标准的重要组成部分。
[0003]在一些需要反复和经常验证大量签名的场景,比如对数据库里的数据进行的签名,区块链上的签名等,都是需要长期保存的大量数据和签名值,通常需要经常验证大量数据的签名。从而繁琐的工作存在极大的费时费力的技术问题。
技术实现思路
[0004]针对现有技术的不足,本专利技术提供一种基于SM2批量验证签名的方法、装置及介质。
[0005]根据本专利技术的一个方面,提供了一种基于SM2批量验证签名的方法,包括:
[0006]步骤1,计算Z
i
=H
256
(ENTL
Ai
||ID
Ai
||a||b||x
G
||y
Gr/>||x
...
【技术保护点】
【技术特征摘要】
1.一种基于SM2批量验证签名的方法,其特征在于,包括:步骤1,计算Z
i
=H
256
(ENTL
Ai
||ID
Ai
||a||b||x
G
||y
G
||x
Ai
||y
Ai
),其中H
256
为国密SM3散列算法,ENTL
Ai
和ID
Ai
为用户参数,a、b、x
G
、y
G
是固定参数;步骤2,计算e
i
=H
v
(Z
i
||M
i
),其中H
v
为国密SM3散列算法;步骤3,计算r'
i
=(e
i
+x
i
)mod n,且检验r'
i
∈[1,n
‑
1]是否成立,若不成立验证失败;步骤4,检验s
i
∈[1,n
‑
1]是否成立,若不成立验证失败;步骤5,计算t
i
=(r'
i
+s
i
)mod n,如果t
i
==0则验证失败;步骤6,检验是否成立,即(x
i
,y
i
)是否为椭圆曲线上的点,若不成立验证失败;步骤7,计算其中,用户公钥P
Ai
=(x
Ai
,y
Ai
),输出(x
s1
,y
s1
);步骤8,计算椭圆曲线点(x
i
,y
i
)点的加和为(x
s2
,y
s2
),其中(x
i
,y
i
)等同于签名步骤4中的[k
i
]*G,所以点的加和等同于步骤9,如果(x
s1
,y
s1
)等于(x
s2
,y
s2
)则批量验证通过;步骤10,比对步骤3中的r'
i
与标准签名值r
i
是否相等,相等则标准签名值(r
i
,s
i
)正确。2.根据权利要求1所述的方法,其特征在于,步骤7,包括:在P
Ai
相等的情况下,先运算求和t
i
,即再计算(x
s1
,y
s1
)。3.根据权利要求1所述的方法,其特征在于,验证的输入参数包括:用户公钥P
Ai
=(x
Ai
,y
Ai
),签名原文M
i
,批量验证辅助数据(x
i
,y
i
),标准签名值(r
i
,s
i
),用户参数ENTL
Ai
和ID
Ai
,固定参数a、b、x
G
、y
G
。4.一种基于SM2批量验证签名的装置,其特征在于,该装置包括:模块1,计算Z
i
=H
256
(ENTL
Ai
||ID
...
【专利技术属性】
技术研发人员:郑杰骞,钟源,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。