[发明专利]一种基于随机数未知的SM2签名算法安全性验证方法有效
| 申请号: | 201510239377.7 | 申请日: | 2015-05-12 |
| 公开(公告)号: | CN104836670B | 公开(公告)日: | 2017-12-08 |
| 发明(设计)人: | 陈华;曹伟琼;郑晓光;韩绪仓;李大为;罗鹏;冯婧怡;李国友;高顺贤;朱少峰 | 申请(专利权)人: | 中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L9/00 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 司立彬 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 随机数 未知 sm2 签名 算法 安全性 验证 方法 | ||
1.一种基于随机数未知的SM2签名算法安全性验证方法,其步骤为:
1)采用SM2签名算法分别对N+1个消息M进行签名,并在每次SM2签名中注入错误,使每次签名时所用随机数k的相同设定比特部分的签名结果出现相同的错误;其中,N≥log2n/l,n为基点G的阶,G为SM2签名算法椭圆曲线的基点,l为总线位宽;
2)以第一次签名的错误签名结果的等式为参照,将其他N次签名中的错误签名结果分别与其进行相减,得到一方程组,即格攻击模型;
3)对该格攻击模型进行求解,恢复出每一次签名所用随机数k的所有比特,将其代入计算对应签名结果的等式,得到一私钥dA,如果该私钥dA为正确私钥,则判断该SM2签名算法不安全。
2.如权利要求1所述的方法,其特征在于,所述使每次签名时随机数k的设定比特部分出现相同的错误的方法为:对于任意一消息Mi,其对应的随机数ki共需要L/l次完成,L为随机数总长度,每次产生的比特部分为ai,当检测到设定比特部分ai写入存储区,对SM2签名算法芯片的CPU注入错误,使得该存储区的值未被更新。
3.如权利要求2所述的方法,其特征在于,所述设定比特部分为随机数k的低比特部分。
4.如权利要求3所述的方法,其特征在于,所述格攻击模型为:其中,1≤i≤N,Δti=2-l(si+ri-s0-r0)mod n,Δui=2-l(s0-si)mod n,hi为使得不等式成立的最小整数,(s0,r0)为第1个消息M的签名结果,(si,ri)为第i+1个消息M的签名结果,mod为模运算。
5.如权利要求2所述的方法,其特征在于,所述设定比特部分为随机数k的最高比特部分。
6.如权利要求5所述的方法,其特征在于,所述格攻击模型为:其中,1≤i≤N,Δti=(si+ri-s0-r0)mod n,Δui=(s0-si)mod n,hi为使得不等式成立的最小整数,(s0,r0)为第1个消息M的签名结果,(si,ri)为第i+1个消息M的签名结果,mod为模运算。
7.如权利要求3或5所述的方法,其特征在于,采用相同的光强并在每一消息M签名所用随机数k的相同比特部分写入存储区时注入错误。
8.如权利要求1或2所述的方法,其特征在于,将所述格攻击模型的求解问题转化成CVP,采用LLL和Babai算法求解CVP,得到随机数k的所有比特。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心,未经中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510239377.7/1.html,转载请声明来源钻瓜专利网。





