公钥加密算法RSA攻击实验报告

您所在的位置:网站首页 js的rsa加密 公钥加密算法RSA攻击实验报告

公钥加密算法RSA攻击实验报告

#公钥加密算法RSA攻击实验报告| 来源: 网络整理| 查看: 265

日期:2022.11.1

摘 要

本文介绍了RSA公钥加密体系以及复现常见的攻击手段。RSA公钥加密算法是基于大整数分解的困难问题建立的。本次实验的数据来源为首届全国高校密码数学挑战赛赛题三。采用Python编写程序。通过预处理截获数据,最终实现多种由于参数选取不当造成的攻击手段:因素碰撞、共模攻击、低加密指数广播攻击、费马分解攻击、pollard p-1分解法。

关键词:RSA算法,加密破解,因素碰撞、共模攻击、低加密指数广播攻击、费马分解攻击。

RSA加密体系介绍1.1背景

RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

1.2 RSA算法

RSA算法的具体如下:

任意选取两个不同的大素数pq计算乘积:任意选取一个大整数e,满足:整数e用做加密钥(注意:e的选取是很容易的,所有大于pq的素数都可用);确定的解密钥d,满足

是一个任意的整数;所以,若知道e和,则很容易计算出d

(4)公开整数ne,秘密保存d

(5)将明文mm2.4因素碰撞

因数碰撞法指的是,如果参数选取不当, p或者q在多个rsa加密中使用多次,那么生成不同的n可能会有相同的因子,我们假设p相同,q不同,那么有:

很容易知道

这样很快就能将他们各自的私钥求解出来了。(寻找两个n的)

代码如下:

攻击结果为:

2.5共模攻击

共模攻击指的是如果一条消息发送给不同的接收方,接收方的模数n相同, 公钥e不同,那么可以进行如下的攻击:

我们求解:

由扩展欧几里得算法我们可以很轻松的求出x和y

所以有:

所以将明文给求解出来了。

结果如下:

代码如下:

2.6低加密指数广播攻击

低加密指数广播攻击适合于n很大,e很小的情况,其适用的情况如下,当一条消息m发送给不同的接收者时,每个接收者的n都不同,但是加密的公钥都是相同的,我们假设公钥为3,那么有:

由中国剩余定理知道,我们是可以将m3算出来的,那么对其开立方就将明文给求出来了。

结果如下:

代码如下:

2.7费马分解法

如果p 和q相差不大的话我们可以通过费马分解把p和q求出来,原理如下:

由于p与q相差不大,所以p-q相对于n和来说可以忽略不计,所以有:

通过不断尝试就可以把p和q给计算出来了。

代码如下:

结果如下:

2.8 pollard p-1分解法

如果p与q都不超过1020次方,若其中一个(p-1)或(q-1)的因子都很小的时候(在这里为了方便说明我们假设为(p-1)),可以如下操作:

选取一个整数k,使其满足(p-1)| k!,由费马小定理知道, a 与p 互素的时候有:

所以有

那么对于n 与必有公因数为p,这样就可以把n分解出来了。

我们直接计算 和 gcd(a-1,n)(n=pq)

但是对于k的选取还是有要求的,太小了(p-1)|k!不会成立,太大了花费时间会很多。

代码如下:

结果如下:

2.9其他方法LLL算法 LLL算法又叫做格基约简,是 Gauss 算法向高维格的推广,在后面应用到密码设计与分析中,成为密码学非常有力的工具。其可以在部分已知p、q,并且p的未知部分的上界X和q的未知部分的上界Y满足​的情况下把n分解出来。并且这种方法在之后广泛应用于RSA体制的小指数攻击和部分私钥泄露攻击等领域,具体可见 LLL算法在RSA安全性分析中的应用。暴力分解N

推荐常用分解网站factordb.com。3.总结

3.1结果汇总Frame 0 :My secreFrame 1 : . ImaginFrame 2 : That isFrame 3 : t is a fFrame 4 : My secreFrame 5 :Frame 6 : "LogicFrame 7 :Frame 8 : t is a fFrame 9 :Frame 10 : will getFrame 11 :Frame 12 : t is a fFrame 13 :Frame 14 :Frame 15 :Frame 16 : t is a fFrame 17 :Frame 18 : m A to BFrame 19 : instein.Frame 20 : t is a f3.2实验总结

这次尝试第一届全国高校密码学挑战赛,目的为练习RSA算法常见漏洞的利用。学习了多种针对RSA的攻击方式,比如RSA共模攻击、pollard、低加密指数法、因数碰撞法、Fermat攻击等,了解了他们的原理,对RSA的结构和缺点有了更深入的了解。但是仍然存在一些尚未解决的问题,比如pollard p-q方法未能实现,有些赛题未解出等等。

附录:

参考链接

https://blog.csdn.net/weixin_44145452/article/details/109924843https://www.cnblogs.com/jcchan/p/8426731.htmlhttps://www.tr0y.wang/2017/10/31/RSA2016/#%E8%A7%A3%E9%A2%98%E8%BF%87%E7%A8%8Bhttps://blog.csdn.net/weixin_45859850/article/details/109785669


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3