学习记录569@RSA小指数攻击原理及其案例一

本文探讨了RSA公钥加密体系的安全性问题,特别是当指数较小导致的小指数攻击。通过案例说明,当e=2时,如果两个使用相同指数的RSA系统参数nA和nB互素,攻击者可以利用中国余数定理来破解加密信息。这揭示了在设置RSA参数时必须考虑指数和模数选择的重要性,以防止此类安全漏洞。
摘要由CSDN通过智能技术生成

先复习下RSA公钥体系

RSA公钥体系的基本运算是模下指数幂运算,其解密思想是寻求模下逆元素。
假设甲方拟建立自己的RSA公钥体系,甲首先选取两个大素数p和q,并计算n=p*q.然后选取正整数e,使1<e<n且gcd(e,Φ(n))=1,最后求出e在模Φ(n)下的逆元素d,即ed ≡ 1 (mod Φ(n))。甲将(e,n)公开作为公钥,将d,p,q和(n)保密并用(d,n)作为私钥。
假设乙方需要将明文M用甲方的RSA公钥体系加密送给甲方,其中M是小于n的正整数。RSA加密算法如下:

  1. C = M e M^e Me mod n
  2. 甲方收到C后用RSA解密算法将C解密,M = C d C^d Cd mod n.

再复习下中国余数定理

因为本文中的小指数攻击使用到了中国余数定理
在这里插入图片描述
在这里插入图片描述

RSA小指数攻击

指数e或d的数值如果太小,则RSA将不安全,这就是RSA的小指数攻击。

案例一

如果甲乙同时选用了相同的指数e=2,而且所选的参数 n A n_A nA n B n_B nB恰巧互素,假设丙将同样的信息 M 送给甲乙两人,并用甲乙两人的公钥(2, n A n_A nA)和(2, n B n_B nB)对M进行加密后再传输,其中M<min{ n A n_A nA, n B n_B nB},即丙将 C A C_A CA = M 2 M^2 M2 mod n A n_A nA送给甲,将 C B C_B CB = M 2 M^2 M2 mod n B n_B nB送给乙。
如果 C A C_A CA C B C_B CB 被攻击者获得,且e, n A n_A nA n B n_B nB是公开的,则攻击者可用如下步骤进行M的破解:
C A C_A CA = M 2 M^2 M2 mod n A n_A nA
C B C_B CB = M 2 M^2 M2 mod n B n_B nB
因为A对B取模的值为C,就等同于A和C在模B下是同余的。
也就是说A除以B的余数为C,等同于A-C除以B余数为0,也就是整除,也就是同余。

因此以上等同于:
M 2 M^2 M2 C A C_A CA(mod n A n_A nA
M 2 M^2 M2 C B C_B CB(mod n B n_B nB

然后根据中国余数定理,这里 n A n_A nA n B n_B nB恰巧互素,这个同余方程组中, M 2 M^2 M2是有唯一解的,具体的解法就省略了,就是按照上面中国余数定理求解即可。

这不能归功于第六感、高超的看盘技巧或者持之以恒的勇气。这是我坚信自己的判断的报酬,与聪明或虚荣没有关系。知识就是力量,力量无须畏惧谎言,即使这个谎言通过行情显示出来,但很快就会回到正轨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值