[发明专利]一种轻量级SM2两方协同生成数字签名的方法有效

专利信息
申请号: 201910147366.4 申请日: 2019-02-27
公开(公告)号: CN110011803B 公开(公告)日: 2020-10-30
发明(设计)人: 何德彪;张佳妮;冯琦;王婧;陈泌文 申请(专利权)人: 武汉大学
主分类号: H04L9/32 分类号: H04L9/32;H04L9/08
代理公司: 湖北武汉永嘉专利代理有限公司 42102 代理人: 唐万荣;李丹
地址: 430072 湖*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种轻量级SM2两方协同生成数字签名的方法,参与两方为P1,P2,包括以下步骤:1)签名参数初始化;2)生成分布式密钥:生成参与方P1,P2的签名私钥,签名验证公钥;3)生成分布式签名:该步骤主要用于参与方P1,P2联合生成消息m的数字签名(r,s)。本发明方法采用预计算的方法,极大地减轻了两方联合生成SM2数字签名的计算开销,实现高效的SM2两方协同数字签名,同时在参与签名的各方之间保证安全性、隐私性和公平性。
搜索关键词: 一种 轻量级 sm2 协同 生成 数字签名 方法
【主权项】:
1.一种轻量级SM2两方协同生成数字签名的方法,参与两方为P1、P2,其特征在于,包括以下步骤:步骤1)签名参数初始化:产生整个签名过程所需的公开参数;所述参数包括:椭圆曲线相关参数(q,Fq,a,b,n,G)、密码杂凑函数h(·);其中,q为大素数,Fq为包含q个元素的有限域,a,b为Fq中的元素,用于定义Fq上的一条椭圆曲线,n为素数,G为椭圆曲线的一个基点,其阶为n;步骤2)生成分布式密钥:生成参与方P1,P2的签名私钥,签名验证公钥;具体如下:2.1)参与方P1在Zn中随机选取一个整数x1作为自己的签名私钥,并分别通过公式(1),(2)计算中间变量X1,零知识证明参与方P1发送给参与方P2;X1=[x1]G   (1),其中,G为椭圆曲线的一个基点,用于生成关于x1是X1的一个椭圆曲线离散对数这个称述的零知识证明2.2)参与方P2在Zn中随机选取一个整数x2作为自己的签名私钥,并分别通过公式(3),(4)计算中间变量X2,零知识证明参与方P2发送给参与方P1;X2=[x2]G   (3),其中,用于证明x2是关于X2的一个椭圆曲线离散对数;2.3)参与方P1验证零知识证明是否合法,验证通过则通过公式(5)计算签名验证公钥Ppub;参与方P2验证零知识证明是否合法,若验证通过则通过公式(5)计算签名验证公钥Ppub2.4)参与方P1在Zn中随机选取两个整数a1,b1;参与方P2在Zn中随机选取两个整数a2,b2;2.5)参与方P1,P2通过相关运算(如同态操作或不经意传输等方法)分别获得加法分量z1,z2,使其满足z1+z2=(a1+a2)·(b1+b2)mod n;步骤3)生成分布式签名:该步骤主要用于参与方P1,P2联合生成消息m的数字签名(r,s);具体过程如下:3.1)参与方P1在Zn中随机选取两个整数k1,ρ1,并分别通过公式(6),(7)计算中间变量R1,零知识证明参与方P1发送给参与方P2;R1=[k1]G    (6),其中,用于证明k1是关于R1的一个椭圆曲线离散对数;3.2)参与方P2在Zn中随机选取两个整数k2,ρ2,并分别通过公式(8),(9)计算中间变量R2,零知识证明参与方P2发送给参与方P1;R2=[k2]G   (8),其中,用于证明k2是关于R2的一个椭圆曲线离散对数;3.3)参与方P1验证零知识证明是否合法,验证通过则使用公式(10)~(15)分别计算中间变量R,r,δ1,u1,v1,w1;参与方P1将(u1,v1,w1)发送给参与方P2;计算公式如下:r=e+rxmod n   (11)u1=x1‑a1mod n   (13)v1=δ1‑a1mod n    (14),w1=ρ1‑b1mod n    (15)其中,e为密码杂凑函数h(·)作用于消息m的输出,即e=h(m);rx为R的横坐标,r为SM2签名的第一部分;3.4)参与方P2验证零知识证明是否合法,验证通过则使用公式(10)~(11),(16)~(19)分别计算中间变量R,r,δ2,u2,v2,w2;参与方P2将(u2,v2,w2)发送给参与方P1;计算公式如下:r=e+rxmod n   (11)u2=x2‑a2mod n   (17)v2=δ2‑a2mod n   (18),w2=ρ2‑b2mod n   (19)3.5)参与方P1使用公式(20)~(24)分别计算中间变量u,v,w,α1,β1;参与方P1将(α1,β1)发送给参与方P2;计算公式如下:u=u1+u2mod n   (20),v=v1+v2mod n   (21)w=w1+w2mod n   (22),α1=x1w+ρ1u+z1‑uw mod n   (23)β1=δ1w+ρ1v+z1‑vw mod n   (24)3.6)参与方P2使用公式(20)~(22),(25)~(26)分别计算中间变量u,v,w,α2,β2;参与方P2将(α2,β2)发送给参与方P1;计算公式如下:u=u1+u2mod n   (20),v=v1+v2mod n   (21)w=w1+w2mod n   (22),α2=x2w+ρ2u+z2mod n   (25)β2=δ2w+ρ2v+z2mod n   (26)3.7)参与方P1通过公式(27)计算s′,为了保证最终结果的一致性,参与方P1选择s′和n‑s′中的较小值作为SM2签名的第二部分,即s=min{s′,n‑s′};s′=(α12)‑112)‑r mod n   (27)3.8)同样地,参与方P2通过公式(27)计算s′;为了保证最终结果的一致性,参与方P2选择s′和n‑s′中的较小值作为SM2签名的第二部分,即s=min{s′,n‑s′};s′=(α12)‑112)‑r mod n    (27)3.9)参与方P1更新a1,b1,z1,即分别令a1=k1,b1=ρ1,z1=α1,更新后的a1,b1,z1参与下一次的签名过程;3.10)参与方P2更新a2,b2,z2,即分别令a2=k2,b2=ρ2,z2=α2,更新后的a2,b2,z2参与下一次的签名过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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