[发明专利]基于去秘密化的分布式SM2数字签名生成方法及系统有效
申请号: | 201710040822.6 | 申请日: | 2017-01-20 |
公开(公告)号: | CN106603231B | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 龙毅宏 | 申请(专利权)人: | 武汉理工大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 许美红 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 发明涉及SM2数字签名生成方法:在[1,n‑1]中选一整数c;计算Gb=[c(1+dA)]G;将Gb、c给m个装置,m≥2;m个装置分别有秘密g1、g2、…、gm且(‑(1+dA)‑1dA)mod n=(g1+g2+…+gm)mod n;需使用SM2私钥dA对消息数字签名时,m个装置通过交互计算出r=(e+x1)mod n,其中(x1,y1)=[k1+k2+…+km]Gb,ki是装置i在[1,n‑1]中任选的整数,e是消息杂凑值;每个装置计算si=(cki+gir)mod n;由一装置计算s=(s1+s2+…+sm)mod n;(r,s)为数字签名。 | ||
搜索关键词: | 基于 秘密 分布式 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的数字签名。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉理工大学,未经武汉理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710040822.6/,转载请声明来源钻瓜专利网。