一种针对RSA-CRT的功耗分析攻击方法

  在RSA 中引入中国剩余定理(CRT),来减小求模的运算量,缩小算法所需存储表的空间,同时还减小了算法中乘法的运算量,对RSA 算法在提高速度方面收到一些比较可观的效果。
  经研究发现,在对模余操作的分析中,如果根据分析过程中得到的结果选择合适的输入再做下一步的分析,就可以减少进行DPA 攻击所需的功耗波形条数,进而提高攻击的效率。为此,提出一种针对RSA-CRT 的改进的MRED 攻击方法,通过先确定其中一个素数的位数,根据素数的位数选择合适的输入数据再进行一次DPA 攻击,逐字节得到该素数。

RSA算法及CRT实现简介

  RSA加密算法是一种非对称加密算法,其密码体制描述如下:
n = p q n=pq n=pq p p p q q q 为素数,且 φ ( n ) = ( p − 1 ) ( q − 1 ) φ(n)=(p-1)(q-1) φ(n)=(p1)(q1) e d ≡ 1 ( m o d   φ ( n ) ) ed\equiv1(mod\ φ(n)) ed1(mod φ(n)),
加密: c = m e   m o d   n c = m^e\ mod\ n c=me mod n
解密: e = c d   m o d   n e = c^d\ mod\ n e=cd mod n,
其中 ( n , d ) (n,d) (n,d)为公钥,而(p,q,e)为私钥。
  RSA-CRT作为一种广泛使用的用来执行解密或签名操作的技术,是在RSA的实现过程中引入中国剩余定理(CRT)。它的过程主要分为3步:模余、求幂、重组,在之前有一个预计算过程。它的过程如下:
预计算:
d p = d   m o d   ( p − 1 ) d_p = d\ mod\ (p-1) dp=d mod (p1) // d d d为私钥, p p p为其中一个素数
d q = d   m o d   ( q − 1 ) d_q = d\ mod\ (q-1) dq=d mod (q1) // d d d为私钥, q q q为另一个素数
k = p − 1   m o d   q k=p^{-1}\ mod\ q k=p1 mod q
模余:
m p = m   m o d   p m_p = m\ mod\ p mp=m mod p // m为要签名的信息
m q = m   m o d   q m_q = m \ mod\ q mq=m mod q
求幂:
s p = m p d p   m o d   p s_p = m_p^{d_p}\ mod\ p sp=mpdp mod p
s q = m q d q   m o d   q s_q = m_q^{d_q}\ mod\ q sq=mqdq mod q
重组:
s = ( ( ( s q − s p ) × k )   m o d   q ) × p + s p s=(((s_q-s_p)\times k)\ mod\ q)\times p + s_p s=(((sqsp)×k) mod q)×p+sp
  尽管这种实现过程比直接的二进制求幂要复杂,但进行求幂运算用到较小的数,它的运行要快很多,适合在计算及存储资源有限的密码设备如智能卡等之上实现。

对RSA-CRT的功耗分析攻击

   研究所做工作,是在模余这一步进行攻击。如第一部分所述,RSA-CRT 在模余这一步需要计算: m p = m   m o d   p m_p = m\ mod\ p mp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_74043383

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值