[发明专利]基于改进差分错误攻击的SM2签名算法安全性验证方法有效
申请号: | 201510239497.7 | 申请日: | 2015-05-12 |
公开(公告)号: | CN104836808B | 公开(公告)日: | 2017-12-15 |
发明(设计)人: | 冯婧怡;陈华;曹伟琼;韩绪仓;李大为;罗鹏;郑晓光;李国友;高顺贤;朱少峰 | 申请(专利权)人: | 中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 改进 错误 攻击 sm2 签名 算法 安全性 验证 方法 | ||
1.一种基于改进差分错误攻击的SM2签名算法安全性验证方法,其特征在于,所述方法包括步骤:
1)采用SM2签名算法对消息M进行签名,当生成的随机数k和SM2签名算法的椭圆曲线基点G的标量乘迭代进行到第i轮时注入错误,使第i轮中间值y坐标的部分比特值改变;
2)利用步骤1)得到的签名结果,以及验签公钥PA和消息M杂凑值e恢复出随机数k的连续比特值;
3)利用所述连续比特值和错误签名结果构造隐藏数问题,采用格攻击分析出私钥,然后根据该私钥判定当前SM2签名算法是否安全。
2.如权利要求1所述的方法,其特征在于,所述第i轮迭代注入错误,使第i轮中间值y坐标的部分比特值改变的方法为:
1)SM2签名算法对生成的随机数k与SM2签名算法的椭圆曲线基点G进行标量乘迭代运算kG;其中,k=(km-1,…,k1,k0)2∈[1,n-1],n为基点G的阶,m为随机数k的比特长度;
2)根据经验能量迹估计设定的第i轮迭代在当前SM2签名运算中出现时刻,在估计的第i轮迭代将要结束时对中间值y坐标的存储器注入错误,使中间值y坐标的部分比特值变化;继续迭代运算,得到最终的签名结果;查看当前能量迹的错误注入时刻,如果错误注入在第i轮迭代将要结束时,则保留该签名,否则舍弃该签名。
3.如权利要求2所述的方法,其特征在于,使用激光照射所述存储器实现注入错误;通过调整激光照射强度或照射时间,使得变化的比特数Δy<N,N为设定的阈值。
4.如权利要求3所述的方法,其特征在于,所述阈值N小于32。
5.如权利要求2或3所述的方法,其特征在于,所述恢复出随机数k的连续比特值的方法为:
1)首先利用所述签名结果、公钥PA和消息M杂凑值e恢复出标量乘法运算的正确结果,及注入错误后产生的错误标量乘法结果的横坐标;
2)设随机数k部分连续比特可能值为计算与对应的第i轮未注入错误的中间值;
3)将中的所有比特转化为点后,其中t∈[i,m-1];根据从右到左的二进制标量乘运算法则,以第i轮错误的中间值为初始点,将按照t从小到大的顺序依次进行伪加法运算,然后根据该伪加法运算公式和注入错误后产生的错误标量乘法结果的横坐标得到第i轮迭代的错误中间值坐标如果汉明距离函数则确定为所述连续比特值k(i),否则返回步骤2)重新设定其中,为第i轮未注入错误的中间值中的坐标;如果所有都不符合要求,则舍弃该签名。
6.如权利要求5所述的方法,其特征在于,分析出所述私钥的方法为:根据所述签名结果和确定出的所述连续比特值k(i)构造隐藏数问题,然后将构造的隐藏数问题转化为最近向量问题,采用基于格基约化算法和最近平面算法求解,分析出私钥dA。
7.如权利要求1所述的方法,其特征在于,在倒数第logn轮之前的某一轮迭代中注入错误,其中,迭代轮数为n。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心,未经中国科学院软件研究所;北京中电华大电子设计有限责任公司;国家密码管理局商用密码检测中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510239497.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于空调的排水管及空调
- 下一篇:静音箱降噪装置