概述
书接前两回:
【密码学】RSA的攻与防_1.0_Mitch311的博客-CSDN博客
【密码学】RSA的攻与防_2.0_Mitch311的博客-CSDN博客
目录
1 选择密文攻击
1.1 介绍
1.2 防御措施
2 维纳攻击(Wiener’s Attack)
2.1 介绍
2.2 证明
2.3 举例
2.4 防御措施
1 选择密文攻击
1.1 介绍
利用RSA的性质:
E(PU,M1)* E(PU,M2)=E(PU,[M1M2])
PU是公钥,M是待加密内容。
即:(M1)^e * (M2)^e mod n = (M1M2)^e mod n
利用CCA攻击,可以用如下方式解密:
假定一攻击者截获密文 C =M^e mod n,此时无法解密M,但可以执行如下计算:
(1)计算X = C * 2^e mod n
(2)将X作为选择明文提交,并收到 Y =X^dmod n
观察下面的等式:
X = C * 2^e mod n = M^e* 2^e mod n = (2M)^e mod n
因此 Y = 2M mod n ,所以可得到消息M
1.2 防御措施
解决办法是在明文加密前先对明文进行随机填充,让密文随机化,从而使攻击条件不再成立。
事实证明简单的填充依然具有较低的安全性,推荐最优非对称加密填充OAEP。
2 维纳攻击(Wiener’s Attack)
2.1 介绍
已知N=pq,且d<n1/4/3,"n" ^"1/4" "/3",q<p<2q,
wiener 证明了,可在多项式时间中利用给出的<N,e>分解 n。
2.2 证明
2.3 举例
2.4 防御措施
构造RSA时保证参数不满足维纳攻击的条件。
最后
以上就是呆萌煎饼为你收集整理的【密码学】RSA的攻与防_3.01 选择密文攻击2 维纳攻击(Wiener’s Attack)的全部内容,希望文章能够帮你解决【密码学】RSA的攻与防_3.01 选择密文攻击2 维纳攻击(Wiener’s Attack)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复