[发明专利]一种轻量级SM2盲签名生成方法及系统在审
| 申请号: | 201910473354.0 | 申请日: | 2019-05-31 |
| 公开(公告)号: | CN110213048A | 公开(公告)日: | 2019-09-06 |
| 发明(设计)人: | 何德彪;张语荻;张方国;冯琦;王婧 | 申请(专利权)人: | 武汉大学 |
| 主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30;H04L9/32 |
| 代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 唐万荣;李丹 |
| 地址: | 430072 湖*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 签名生成 验证 公开参数 签名参数 签名过程 签名私钥 签名验证 重新生成 参与方 初始化 复杂度 公平性 随机数 公钥 密钥 泄漏 集合 返回 保证 | ||
1.一种轻量级SM2盲签名生成方法,签名参与方包括签名者Signer和用户User,其特征在于,包括以下步骤:
1)签名参数初始化
产生整个签名过程中所需的公开参数;所述参数包括:SM2算法的椭圆曲线相关参数(q,Fq,n,G)、密码杂凑函数Hv();
其中,q为大素数,Fq为包含q个元素的有限域,n为素数,G为椭圆曲线的一个基点,其阶为n;
2)生成签名者Signer的密钥;
签名者Signer的签名私钥为x,公钥为Q=[x]G;其中,x为签名者产生的一个位于集合{1,2,…,n-1}中的随机数;
3)生成消息M的签名
3.1)Signer在集合{1,2,…,n-1}中选择第一个随机数k,计算第一个临时变量K=[k]G,并将K发送给User;
3.2)User收到K后,在集合{1,2,…,n-1}中选择两个随机数α,β,计算第二个临时变量K′=[α]K+[β]G,令K′=(rx,ry);
计算消息M的哈希值,e=Hv(ZA||M),计算签名值r=rx+e mod n,并计算第三个临时变量r′=α-1(r+β),最后将r′发送给Signer;其中,ZA表示Signer的用户身份标识;
3.3)Signer收到r′后,计算出临时签名s′=(1+x)-1(k-r′x)mod n,并将s′发送给User;
User收到s′后计算出签名值s=α·s′+β,并输出签名(r,s);
4)签名验证;生成签名(r,s)后,对签名进行验证,若验证不通过,则返回步骤3.1)重新生成签名;
2.根据权利要求1所述的轻量级SM2盲签名生成方法,其特征在于,所述步骤4)中签名的验证方法如下:
4.1)检查r是否属于集合{1,2,…,n-1}中,如果不是则验证不通过,否则检查s是否属于集合{1,2,…,n-1}中,如果不是则验证不通过,否则进入下一步;
4.2)计算消息M的哈希值,e=Hv(ZA||M);
4.3)计算临时变量t=r+s mod n,若t=0则验证不通过,否则进入下一步;
4.4)计算椭圆曲线上的点(rx,ry)=[s]G+[t]Q;
4.5)计算R=e+rx mod n;
4.6)若R=r则验证通过。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473354.0/1.html,转载请声明来源钻瓜专利网。





