[发明专利]针对RSA密码应用的抗侧信道攻击方法有效
申请号: | 201911005724.4 | 申请日: | 2019-10-22 |
公开(公告)号: | CN110730072B | 公开(公告)日: | 2023-02-03 |
发明(设计)人: | 王晖 | 申请(专利权)人: | 天津津航计算技术研究所 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/00 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 周恒 |
地址: | 300308 天津*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 rsa 密码 应用 信道 攻击 方法 | ||
本发明属于密码应用技术领域,具体涉及一种针对RSA密码应用的抗侧信道攻击方法。为了避免变量R[2]在特殊的消息输入下经过模N操作后值为1或N‑1,本方法采取的措施是扩展模数N同时随机化寄存器R[0]、R[1]和R[2]的初始值。为了增强随机性,一般选择用于扩展模数的随机数L比特的最大素数c,这样任意一个L比特的整数都无法被c整除。该方法在理论上可以抵御选择消息攻击、SPA和DPA攻击以及DFA攻击等常见的侧信道攻击方式。
技术领域
本发明属于密码应用技术领域,具体涉及一种针对RSA密码应用的抗侧信道攻击方法。
背景技术
密码安全产品不仅要有理论性的安全性,更要在实际工作中达到安全级别,对密码安全系统的密码分析或攻击有助于发现密码系统的安全漏洞,提高密码系统和密码安全设备的安全性,所以密码分析一直以来都是密码学中一个重要的分支。
密码芯片是信息安全平台的核心,它的安全对信息安全至关重要。功耗攻击是侧信道攻击的一种主要攻击方式,功耗攻击能够在不破坏任何设备和密码芯片的前提下,在密码芯片执行过程中采集密码芯片实时的侧信道功耗信息,之后经过特定的分析获取秘钥等密码信息。
目前,对于业界应用广泛的RSA密码进行的侧信道功耗攻击手段层出不穷,攻击效率越来越高,成本也越来越低。特别是RSA密码核心的模幂算法循环步骤有着很高的抗攻击弱点。所以,需要不断地对 RSA密码中的模幂算法(特别是模幂算法的循环操作)进行盲化等抗攻击防御措施。
RSA密码常用的Boscher提出的模幂方法,一度被认为能够高效抵抗几乎所有的侧信道攻击(SPA,DPA和DFA)。算法通过对寄存器随机化处理来抵抗选择消息攻击。选择消息CPA攻击方法成功攻破了盲化BNP模幂算法,通过选择消息(a·N±1)b(a,b为一个常数,N为公钥密码系统的模数。在考虑实际硬件环境下,可作为输入选择消息的有N-1,1和N+1),并结合相关性功耗分析(CPA)手段。
RSA密码对于输入的明文消息M∈G,密钥d=(dm-1,...,d1,d0)2,以及模数N,有如下操作:
第一步:生成随机数r;
第二步:配置三个变量R[0]=r,R[1]=r-1mod N,R[2]=M;
第三步:对于计数值i从0到m-1,循环进行如下运算: R[1-di]=R[1-di]·R[2]modN,R[2]=R[2]2mod N;
第四步:判断三个变量的关系,如果满足(R[0]·R[1]·M=R[2]mod N),那么结果为:(r-1·R[0]mod N);否则,计算有误。
从以上步骤可知,密钥当前位的值只与步骤中第三步第一个模乘操作R[1-di]=R[1-di]·R[2]mod N有关。
如果di=0,步骤中第三步第一个模乘操作
R[1-di]=R[1-di]·R[2]mod N执行:R[1]=R[1]·R[2]mod N;
如果di=1,步骤中第三步第一个模乘操作
R[1-di]=R[1-di]·R[2]mod N执行:R[0]=R[0]·R[2]mod N;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津津航计算技术研究所,未经天津津航计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911005724.4/2.html,转载请声明来源钻瓜专利网。