[发明专利]一种多方联合生成SM2数字签名的方法有效

专利信息
申请号: 201811379398.9 申请日: 2018-11-19
公开(公告)号: CN109547199B 公开(公告)日: 2021-07-02
发明(设计)人: 何德彪;冯琦;王婧;林超;张语荻;张佳妮 申请(专利权)人: 武汉大学
主分类号: H04L9/08 分类号: H04L9/08;H04L9/30;H04L9/32
代理公司: 湖北武汉永嘉专利代理有限公司 42102 代理人: 唐万荣;李丹
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种多方联合生成SM2数字签名的方法,该方法包括以下步骤:参与数字签名的各参与方P1,P2,...,Pτ,分别随机选取部分私钥以及两个部分随机数随后各参与方通过交互式理想函数计算得SM2的公钥以及两个中间变量和α=xρmod n;对于消息m,各参与方分别计算杂凑值e=h(m)和第一部分签名r=rx+e mod n,并通过交互式理想函数计算得第三个中间变量β=ρ(k+r)mod n。最后各参与方分别计算第二部分签名s=min{α‑1β‑r,n‑α‑1β+r},在签名验证通过后,输出完整的SM2数字签名(r,s)。本发明实现了多方联合生成SM2数字签名,签名过程中保证各参与方都不会暴露部分私钥,同时数字签名必须由所有参与方同时参与,这样实现了多方签名的安全性和公平性。
搜索关键词: 一种 多方 联合 生成 sm2 数字签名 方法
【主权项】:
1.一种多方联合生成SM2数字签名的方法,其特征在于,参与数字签名的所有参与方为P1,P2,…,Pτ,该方法包括以下步骤:1)每个参与方分别产生自己的部分私钥,并借助理想函数得到共同的公钥;1.1)参与方Pi,i∈{1,…,τ},在中随机选择一个整数xi作为自己的部分私钥,发送(input,sidsk,xi)给理想函数其中,sidsk为唯一私钥标识符;其中,为以整数n为阶的整数域;1.2)若没有(sidsk,i,·),则保存(sidsk,i,xi);否则忽略此条消息;1.3)若收到所有参与方发来的(input,sidsk,xi),计算mod n,保存(sidsk,x),并把(input,sidsk)发送给所有参与方;1.4)当所有参与方接收到返回的(input,sidsk)后,发送(element‑out,sidsk)给1.5)当收到所有参与方发来的(element‑out,sidsk),如果没有(sidsk,x),则忽略此条消息;否则计算Q=xG,并以(element‑out,sidsk,Q)的形式把结果发给所有参与方;其中,G为椭圆曲线点群的基点;1.6)所有参与方从的返回中获得中间变量Q,计算Ppub=(Q‑G)作为SM2的公钥,连同部分私钥xi一起安全保存;2)由P1,P2,…,Pτ共同完成SM2数字签名;2.1)Pi中随机选择两个整数ki、ρi,发送(input,sidsig||1,ki)和(input,sidsig||2,ρi)给其中,整数整数并且分别由sidsig||1和sidsig||2唯一标识;sidsig为签名会话的标识符;2.2)当收到某参与方Pi,i∈{1,…,τ}发来的(input,sidsig||1,ki)和(input,sidsig||2,ρi),如果没有(sidsig||1,i,·)和(sidsig||2,i,·),则保存(sidsig||1,i,ki)和(sidsig||2,i,ρi);否则忽略此条消息;当收到所有参与方发来的(input,sidsig||1,ki)和(input,sidsig||2,ρi),i∈{1,…,τ},计算保存(sidsig||1,k)和(sidsig||2,ρ),并把(input,sidsig||1)和(input,sidsig||2)发送给所有参与方;2.3)当参与方接收到(input,sidsig||1),(input,sidsig||2)后,Pi发送(mult,sidsk,sidsig||2)和(element‑out,sidsig||1)给2.4)当收到所有参与方发来的(mult,sidsk,sidsig||2),i∈{1,…,τ},找出(sidsk,x)和(sidsig||2,ρ),计算并以(mult‑out,sidsk,sidsig||2,α)的形式把结果发给所有参与方;如果没有(sidsk,x)或(sidsig||2,ρ),则忽略此条消息;当收到所有参与方发来的(element‑out,sidsig||1),i∈{1,…,τ},如果没有(sidsig||1,k),则忽略此条消息;否则计算R=kG(即),并以(element‑out,sidsig||1,R)的形式把结果发给所有参与方;2.5)Pi返回的(element‑out,sidsig||1,R)和(mult‑out,sidsk,sidsig||2,α)中获得第一个中间变量和第二个中间变量α(α=xρmod n);2.6)令R=(rx,ry),Pi计算第一部分签名r=e+rx mod n,其中e是消息m的杂凑值,e=h(m);2.7)Pi发送(affine,sidsig||1,sidsig||3,1,r)给标识符sidsig||3代表了第三个中间变量,等于k+r mod n;2.8)当收到某参与方Pi,i∈{1,…,τ}发来的(affine,sidsig||1,sidsig||3,1,r)时,其中x,y是域内的常数,如果没有(sidsig||1,k),则忽略此条消息,否则计算b=k+r mod n,保存(sidsig||3,b);2.9)Pi发送(mult,sidsig||2,sidsig||3)给2.10)当收到所有参与方发来的(mult,sidsig||2,sidsig||3),i∈{1,…,τ},找出(sidsig||2,ρ)和(sidsig||3,b),计算β=ρb mod n=ρ(k+r)mod n并以(mult‑out,sidsig||2,sidsig||3,β)的形式把结果发给所有参与方;如果没有(sidsig||2,ρ)或(sidsig||3,b),则忽略此条消息;2.11)当返回(mult‑out,sidsig||2,sidsig||3,β)时,Pi获得第四个中间变量β(β=ρ(k+r)mod n);2.12)Pi计算第五个中间变量s′=α‑1β‑r mod n,为了保持签名一致,选取s=min{s′,n‑s′}作为第二部分签名;2.13)Pi利用SM2的数字签名验证算法验证产生的签名,若通过则公布关于消息m的SM2签名Sig=(r,s)。2.14)根据所有参与方Pi密钥对,联合生成SM2数字签名。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201811379398.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top