[发明专利]基于去秘密化的分布式SM2数字签名生成方法及系统有效
申请号: | 201710040822.6 | 申请日: | 2017-01-20 |
公开(公告)号: | CN106603231B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 龙毅宏 | 申请(专利权)人: | 武汉理工大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 许美红 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 秘密 分布式 sm2 数字签名 生成 方法 系统 | ||
1.一种基于去秘密化的分布式SM2数字签名生成方法,其特征是:
生成SM2数字签名时有m个装置参与,其中m大于或等于2;m个装置分别被称为装置1,装置2,…,装置m;
在生成数字签名前,针对参与数字签名生成的m个装置进行如下初始化操作:
在区间[1,n-1]中选取一个整数c,其中n是SM2密码运算所使用的椭圆曲线点群的阶,也即SM2密码运算所使用的椭圆曲线点群的基点G的阶;
给m个装置中的每个装置分配1份秘密份额,其中装置i的秘密份额或者从装置i的秘密份额导出的秘密数是gi,i=1,2,…,m,gi是区间[1,n-1]内的整数;
m个装置的秘密份额或者从秘密份额导出的秘密数与dA满足关系:
(1+dA)-1=(g1+g2+…+gm)mod n,
或(-(1+dA)-1dA)mod n=(g1+g2+…+gm)mod n,
其中(1+dA)-1是(1+dA)的模n乘法逆;
计算Gb=[c(1+dA)]G,其中G是SM2椭圆曲线点群的基点;
将c、Gb分发给所有m个装置;
当需要使用用户的SM2私钥dA针对消息M进行数字签名时,m个装置按如下方式进行数字签名的生成:
首先,m个装置通过交互,计算得到Q=[k1+k2+…+km]Gb,r=(e+x1)mod n,且得到的r、Q满足:r≠0且[r]G+Q不是SM2椭圆曲线点群的零元,其中ki是计算Q的过程中装置i在区间[1,n-1]中随机选择的一个整数,i=1,2,…,m,x1取自(x1,y1)=Q,e是从用户标识和消息M导出的杂凑值;
之后,每个装置计算si=(cki+gir)mod n,其中i=1,2,…,m,si对应装置i所进行的计算;
最后,m个装置中的一个装置进行如下计算:
若m个装置的秘密份额或者从秘密份额导出的秘密数与dA满足关系(1+dA)-1=(g1+g2+…+gm)mod n,则计算s=((s1+s2+…+sm)-r)mod n;
若m个装置的秘密份额或者从秘密份额导出的秘密数与dA满足关系(-(1+dA)-1dA)mod n=(g1+g2+…+gm)mod n,则计算s=(s1+s2+…+sm)mod n;
计算得到的(r,s)即为使用用户的SM2私钥dA对消息M的数字签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉理工大学,未经武汉理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710040822.6/1.html,转载请声明来源钻瓜专利网。