[发明专利]一种抗能量分析攻击的基于SM2算法的两方协同签名方法有效
申请号: | 202011156120.2 | 申请日: | 2020-10-26 |
公开(公告)号: | CN112422288B | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 荆继武;尤玮婧;王平建;刘丽敏;王跃武;雷灵光;寇春静 | 申请(专利权)人: | 中国科学院大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/32;H04L9/08 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 罗文群 |
地址: | 100049 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 能量 分析 攻击 基于 sm2 算法 协同 签名 方法 | ||
本发明属于密码技术领域,尤其涉及一种抗能量分析攻击的基于SM2算法的两方协同签名方法。本发明方法包括以下步骤:1)签名参数初始化;2)通信双方生成子密钥和用户公钥;3)生成协同签名。本发明中的协同双方与用户协定协同签名过程中使用的公开参数;协同双方各自生成和存储SM2子密钥,并协同生成用户公钥;协同双方共同完成消息签名;任何一方无法获取对方的子私钥,提升了SM2签名私钥的安全性。相比于已有的基于SM2算法的协同签名方案,本发明方法的优点是:1)增加了对签名参数、用户公钥和签名结果的校验,保证了协同签名的有效性;2)生成的协同签名结果可有效抵抗能量分析攻击。
技术领域
本发明属于密码技术领域,尤其涉及一种抗能量分析攻击的基于SM2算法的两方协同签名方法。
背景技术
SM2算法由国家密码管理局发布的一种椭圆曲线公钥密码算法,可用于加解密和数字签名,在生产实际中具有较高的应用价值。标准算法的细节可参考《GM/T 0003-2012SM2椭圆曲线公钥密码算法》。但SM2算法只适用于单方签名,易受到私钥泄露、单点失效等安全问题。对此,协同签名方案可以有效提升私钥的安全性。协同签名方案中的任何一个协同方都不能拥有或者恢复出完整的签名私钥,只能使用各自的子密钥生成子签名,多个子签名最终合成为完整的签名,同时验签所用的公钥也由协同签名参与方共同生成。
SM2算法是由我国自主设计,由国家密码管理局发布的一种椭圆曲线公钥密码算法,可用于加解密和数字签名,在生产实际中具有较高的应用价值。标准算法的细节可参考《GM/T 0003-2012SM2椭圆曲线公钥密码算法》。现将标准SM2算法数字签名方法简述如下:
1、产生SM2算法参数(n,q,Fq,E,G)
(1-1)n和q是两个长度满足通信安全要求的大素数;
(1-2)Fq是一个含有q个元素的有限域;
(1-3)E是定义Fq上的一条椭圆曲线;
(1-4)G是E上的一个阶为n的基点。
2、产生SM2算法密钥
(2-1)签名方随机生成SM2签名私钥d∈[1,n-2];
(2-2)计算SM2签名公钥P=d[*]G,其中“[*]”表示椭圆曲线上的点乘运算。
3、签名方生成SM2算法数字签名
(3-1)随机选取k∈[1,n-1];
(3-2)计算k*G=(x1,y1)
(3-3)计算r=e+x1 mod n,其中e=H(m)是待签名消息m的密码杂凑值,“+”是有限域上的加法运算,mod是有限域上的求模运算。若r不等于0且r+k不等于n,则进行步骤(3-4)继续执行;若r等于0或r+k等于n,则返回(3-1)重新执行;
(3-4)计算s=1+d-1k-rd mod n,其中d-1是签名私钥d在Fq上的逆元,“-”是有限域上的减法运算,mod是有限域上的求模运算。若s不等于0,则将(r,s)作为签名结果输出;若s等于0,则返回(3-1)重新执行。
4、验证方验证SM2算法数字签名
(4-1)检查签名值(r,s)是否满足签名有效性要求,若r,s∈[1,n-1]且r+s不等于n,则签名值(r,s)有效;若或r+s等于n,则签名无效;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院大学,未经中国科学院大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011156120.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高分子隔热条生产用模具调节支架
- 下一篇:改进型带电紧固绝缘子专用工具