[发明专利]一种基于SM2的协同签名计算方法及装置在审
| 申请号: | 201910949318.7 | 申请日: | 2019-10-08 |
| 公开(公告)号: | CN112632630A | 公开(公告)日: | 2021-04-09 |
| 发明(设计)人: | 宁红宙;王启刚;危学艳;龚征;马昌社 | 申请(专利权)人: | 航天信息股份有限公司 |
| 主分类号: | G06F21/64 | 分类号: | G06F21/64 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄丽 |
| 地址: | 100195 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 sm2 协同 签名 计算方法 装置 | ||
1.一种基于SM2的协同签名计算方法,应用于第一参与方,其特征在于,包括:
接收第二参与方发送的所述第二参与方的第二子公钥;
采用第一算法生成第一随机数;
根据所述第一随机数以及所述第二子公钥,生成椭圆曲线第一随机点,其中,所述椭圆曲线第一随机点为指定椭圆曲线的加法群上的一个元素;
将所述椭圆曲线第一随机点发送给所述第二参与方,并接收所述第二参与方发送的根据所述椭圆曲线第一随机点生成的待签名消息的第一部分签名以及中间签名,其中,所述中间签名为所述第二参与方的第二子私钥被混淆后的值;
根据所述第一参与方的第一子私钥、所述第一随机数、所述第一部分签名以及所述中间签名,生成所述待签名消息的第二部分签名,以确定由所述第一部分签名及所述第二部分签名构成的所述待签名消息的完整签名。
2.如权利要求1所述的方法,其特征在于,根据所述第一随机数以及所述第二子公钥,生成椭圆曲线第一随机点,包括:
采用第一公式对所述第一随机数以及所述第二子公钥进行点乘运算,生成所述椭圆曲线第一随机点;所述第一公式用于将所述椭圆曲线第一随机点约束在所述指定椭圆曲线的加法群上;
所述第一公式,具体为:
Q1=(x1,y1)=k1[*]P2
其中,Q1为所述椭圆曲线第一随机点,x1和y1分别为所述椭圆曲线第一随机点的横纵坐标,k1为所述第一随机数,且k1∈[1,n-1]范围内的整数,P2为所述第二子公钥,所述指定椭圆曲线E(Fq)定义在有限素域Fq上,G为所述指定椭圆曲线E(Fq)的基点,n为所述基点G的阶,[*]表示椭圆曲线点乘运算。
3.如权利要求1所述的方法,其特征在于,根据所述第一参与方的第一子私钥、所述第一随机数、所述第一部分签名以及所述中间签名,生成所述待签名消息的第二部分签名,包括:
采用第二公式对所述第一子私钥、所述第一随机数、所述第一部分签名以及所述中间签名进行模运算,生成所述第二部分签名;
所述第二公式,具体为:
s=[(hd1)-1×(k1+s1)-r]mod n
其中,s为所述第二部分签名,(hd1)-1为所述第一子私钥hd1在有限素域Fq上的逆元,k1为所述第一随机数,且k1∈[1,n-1]范围内的整数,s1为所述中间签名,r为所述第一部分签名,所述指定椭圆曲线E(Fq)定义在有限素域Fq上,G为所述指定椭圆曲线E(Fq)的基点,n为所述基点G的阶,mod表示求模运算。
4.如权利要求1所述的方法,其特征在于,接收第二参与方发送的所述第二参与方的第二子公钥之后,还包括:
将所述第一参与方的第一子公钥发送给所述第二参与方;
采用第三公式对所述第一子私钥、所述第二子公钥及所述指定椭圆曲线的基点进行运算,获得所述第一参与方与所述第二参与方的共同公钥;
所述第三公式,具体为:
PA=hd1[*]P2[-]G
其中,PA为所述共同公钥,hd1为所述第一子私钥,且hd1∈[1,n-1]范围内的整数,P2为所述第二子公钥,所述指定椭圆曲线E(Fq)定义在有限素域Fq上,G为所述指定椭圆曲线E(Fq)的基点,n为所述基点G的阶,[*]表示椭圆曲线点乘运算,[-]表示椭圆曲线点减运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910949318.7/1.html,转载请声明来源钻瓜专利网。





