迭代式SM2数字签名生成方法、系统、介质和设备技术方案

技术编号:24498386 阅读:64 留言:0更新日期:2020-06-13 03:59
本发明专利技术公开了一种迭代式SM2数字签名生成方法、系统、介质和设备,所述方法包括:构建第一轮函数F

Iterative SM2 digital signature generation method, system, media and equipment

【技术实现步骤摘要】
迭代式SM2数字签名生成方法、系统、介质和设备
本专利技术涉及数字签名的
,尤其涉及一种迭代式SM2数字签名生成方法、系统、介质和设备。
技术介绍
对于SM2签名算法,其签名私钥dA和验证公钥PA之间关系为:PA=[dA]G,其中G为SM2签名算法中椭圆曲线上阶为素数n的一个基点,[dA]G表示椭圆曲线上的点乘运算,即dA个G相加。将签名私钥dA拆分为若干子密钥片较为容易,难点在于如何利用拆分后的子密钥片生成有效的SM2签名。目前已有专用方法将私钥dA拆分为两份子密钥片,两方协作生成SM2签名。然而,这些专用方法不适用于多方协作签名的应用场景,并存在下述缺陷:1、在SM2标准算法的使用过程中,若私钥只由一方保管,往往存在着一定的泄露风险。一旦攻击者入侵私钥拥有者成功,则攻击者可随意伪造签名。因此,在许多应用场景中,私钥需要被互不信任的多方分别保存,且只有在多方合作的情况下才能生成签名,任何一方都无法独立产生数字签名。2、现有技术的方案在签名交互过程中,具有较大运算量和通信数据量,降低了签名效率。
技术实现思路
本文档来自技高网
...

【技术保护点】
1.一种迭代式SM2数字签名生成方法,其特征在于,所述方法包括:/n构建第一轮函数F

【技术特征摘要】
1.一种迭代式SM2数字签名生成方法,其特征在于,所述方法包括:
构建第一轮函数FR,
构建第二轮函数FS,
分别为基于第一轮函数FR的R-迭代和基于第二轮函数FS的S-迭代,其中R-迭代按照第1轮、第2轮、…、第m轮的顺序进行迭代,每轮迭代均调用一次第一轮函数FR;S-迭代按照第m轮、第m-1轮、…、第1轮的顺序进行迭代,每轮迭代均调用一次第二轮函数FS;
迭代结束后生成一个SM2标准数字签名。


2.根据权利要求1所述迭代式SM2数字签名生成方法,其特征在于,
所述第一轮函数FR的输入为一个四元组(W',R',k,d),其输出为一个二元组(W,R),输入与输出之间的关系为:W=[d]W'、R=R'+[k]W',即FR(W',R',k,d)=(W,R)=([d]W',R'+[k]W'),其中k、d为整数;W、W'、R、R'为SM2签名算法中椭圆曲线上的元素。


3.根据权利要求1所述迭代式SM2数字签名生成方法,其特征在于,
所述第二轮函数FS的输入为一个四元组(k,d,r',s'),其输出为一个二元组(r,s),输入与输出之间的关系为:r=r'modn、s=k+d×s'modn,即FS(k,d,r',s')=(r,s)=(r',k+d×s'),其中k、d、r、s、r'、s'均为整数。


4.根据权利要求1所述迭代式SM2数字签名生成方法,其特征在于,所述R-迭代包括:
在R-迭代中,每轮迭代A1、A2、...、Am以相同方式进行计算,并将计算结果传递给下一轮迭代函数,直至第m轮迭代Am生成椭圆曲线随机点Rm。


5.根据权利要求4所述迭代式SM2数字签名生成方法,其特征在于,所述R-迭代具体为:
RF1)第1轮迭代A1设置W0=G+PA以及R0=0,其中G为SM2签名算法中椭圆曲线上阶为素数n的一个基点;PA为SM2签名算法的验证公钥,A1利用随机数发生器产生随机数k1∈[1,n],输入(W0,R0)以及轮密钥(k1,d1),调用轮函数FR计算(W1,R1)=FR(W0,R0,k1,d1),即W1=[d1]W0、R1=R0+[k1]W0,并将W1、R1传递至下一轮迭代A2,其中d1为第1轮迭代A1的子密钥片;W0、W1、R0、R1均为SM2签名算法中椭圆曲线上的元素;
RFi)第i轮迭代Ai(i=2,K,m-1)接收前一轮迭代Ai-1传递的数据Wi-1、Ri-1,并利用随机数发生器产生随机数ki∈[1,n],Ai输入(Wi-1,Ri-1)以及轮密钥(ki,di),调用轮函数FR计算(Wi,Ri)=FR(Wi-1,Ri-1,ki,di),即Wi=[di]Wi-1、Ri=Ri-1+[ki]Wi-1,并将Wi、Ri传递至下一轮迭代Ai+1;
RFm)第m轮迭代Am接收前一轮迭代Am-1传递的数据Wm-1、Rm-1,并利用随机数发生器产生随机数km∈[1,n],Am输入(Wm-1,Rm-1)以及轮密钥(...

【专利技术属性】
技术研发人员:马昌社龚征姜枚
申请(专利权)人:广州安研信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1