[发明专利]一种轻量级的基于SM2算法的协同签名方法与装置有效
申请号: | 201910657004.X | 申请日: | 2019-07-19 |
公开(公告)号: | CN110535636B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 韩留明;王庆芝 | 申请(专利权)人: | 北京向芯力科技有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/06;H04L9/30 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 官群 |
地址: | 100070 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种轻量级的基于SM2算法的协同签名方法与装置,该方法包括以下步骤:1)签名参数初始化,产生整个签名过程中所需的公开参数;2)生成秘钥;3)生成签名。本发明中协同的双方分别产生和存储SM2子私钥部分;双方协同完成消息的签名操作;任何一方无法获取完整的SM2私钥信息,提高了SM2私钥的安全性。相比于已有的SM2算法协同签名方案,本本发明方法中一个协同方仅需要完成一次点乘操作,另一个协同方仅需完成一次点乘和一次点加操作,降低了SM2协同签名的计算开销。 | ||
搜索关键词: | 一种 轻量级 基于 sm2 算法 协同 签名 方法 装置 | ||
【主权项】:
1.一种轻量级的基于SM2算法的协同签名方法,协同签名参与方包括第一通信方和第二通信方,其特征在于,包括以下步骤:/n1)签名参数初始化/n产生整个签名过程中所需的公开参数;所述参数包括:SM2算法的椭圆曲线相关参数(q,Fq,n,G)、密码杂凑函数Hash();/n其中,q为大素数,Fq为包含q个元素的有限域,n为素数,G为椭圆曲线的一个基点,其阶为n;/n2)生成秘钥/n第一通信方根据随机数D1生成第一通信方的私钥D1生成自身的私钥D1和相应公钥P1;/n第二通信方根据随机数D2生成第二通信方的私钥D2生成自身的私钥D2和相应公钥P2;;/n第一通信方根据D1和P2计算W1;然后根据W1计算公钥P;/n3)生成签名/n3.1)第一通信方生成待签名消息M的消息摘要e;/n3.2)第一通信方产生一个位于[1,n-1]之间的随机数k1,并计算k1[*]W1,将计算结果作为Q1;即有:k1∈[1,n-1];Q1=k1[*]W1;其中,[*]表示椭圆曲线点乘运算;/n3.3)第一通信方将e和Q1发送给第二通信方;/n3.4)第二通信方根据e和第一部分签名Q1生成第二部分签名r;/n3.5)第二通信方计算D2*(r+k2)mod n,将计算结果作为s2;即有:s2=D2*(r+k2)mod n;其中,mod表示求模运算;/n3.6)第二通信方将r和s2发送给第一通信方;/n3.7)第一通信方计算k1+D1*s2-r mod n,得到计算结果s;即有:s=k1+D1*s2-r mod n;若s等于0或等于n-r,则重新产生k1,并将与此相关的步骤重新执行,若s不等于0且不等于n-r,则执行步骤3.8);其中,mod表示求模运算。/n3.8)若s不等于0且不等于n-r,则第一通信方将(r,s)作为待签名消息M的完整签名输出,同时,还可输出待签名消息M。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京向芯力科技有限公司,未经北京向芯力科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910657004.X/,转载请声明来源钻瓜专利网。