专栏首页漏斗社区CTF| 你想要的RSA解题技巧(二)

CTF| 你想要的RSA解题技巧(二)

上一期已经给大家分享了RSA的基本解题思路,总结如下,本期带来几种复杂的RSA题目解法。

以上都是基本解法,基于n能够分解的前提下进行的解法,但是当题目n的长度达到2048、4096bit以上的级别的时候,上述的方法就不适用了。

一、CTF题目实战

1.1 利用n的公约数

题目链接 : http://pan.baidu.com/s/1bo7maR1

密码:kd7o

题目:在一道CTF题中,已知n1和n2且长度很大,e都为65537。

解题思路:

求解n1,n2的最大公约数,用python脚本实现,脚本参考下篇文章。http://www.cnblogs.com/reborn-blog/p/7553528.html

此时求解出一个公约数,此即为n1,n2共有的共因素p,在借助公式n=p*q解出q。

1.2 共模攻击

我们知道RSA加密算法:

如果收到两份密文c1,c2,是一个明文m由相同的n和不同的2个e(e1,e2)进行加密的,此时无需求解出d即可破解出明文,具体的证明过程就不给出了,可自行查阅资料。

题目链接:http://pan.baidu.com/s/1bSmJHO

密码:0mzz

题目:

解题思路:这道题给出两个加密文件,flag.enc1和flag.enc2,verhardRSA.py给出了N的值和e1,e1。

打开加密文件会乱码,你可以使用winhex来提取十六进制。也可以使用python的libnum模块来进行进制和字符串的转换。

libnum模块的安装方法:

git clone https://github.com/hellman/libnum

cd libnum

python setup.py install

下面直接给出这种题型的解密脚本,脚本作者是ByStudent,非斗哥原创。

gmpy2模块可以参考pcat的文章安装,http://www.cnblogs.com/pcat/p/5746821.html

1.3 低加密指数攻击

加密指数指的是e,因为e是可以随机选取的,当e很小时就会被直接破解掉。

当e=3,而且明文也很小,导致明文的三次方仍然小于n,那么通过直接对密文3次开放,即可得到明文。

C=me mod n

如果e=3,且me<n,那么

me mod n= me ,即C=me

m=3√c

如果e=3,且me>n,那么设k,有:

c= me +kn

爆破k,如果c−kn能开三次根式,那么可以直接得到明文。

题目链接:http://pan.baidu.com/s/1nuIxdQ5

密码:avvw

解题思路:通过公钥pubkey.pem获取e和n的值:

发现n的长度为4098,难以直接分解得到p和q。

e=3,尝试使用低加密指数攻击,通过计算可知密文的3次方大于n。

利用脚本爆破n的值求出m。

将m转换字符串的形式。

二、总结

大致介绍了3种情形,RSA题目解密方法远不止这些,本文算是上一篇的延伸,所有脚本和题目,以及脑图和密码学相关的几本书籍都放在网盘。

链接:http://pan.baidu.com/s/1i55UoQh

密码:5l4s

小伙伴们根据需要进行下载吧。

本文分享自微信公众号 - 漏斗社区(newdooneSec),作者:reborn

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 歪?我想要一个XXE。

    0x00 背景 近期看到OWASP TOP 10 2017 版中添加了XXE的内容便对XXE的一些知识进行梳理和总结,XXE可以使用例如http,file等协...

    漏斗社区
  • CTF|玩转RSA加密算法(一)

    RSA是一种非对称加密算法,它由 公钥(n/e),私钥(n/d),明文M和密文C组成。我们做CTF题目时,一般题目中会给出公钥和密文让我们推出对应的私钥或者明文...

    漏斗社区
  • 看!我手里有个Email收集神器

    众所周知,在工作中,大家用到最多的便是Email来传输工作内容,因此,像一些VPN信息、服务器账号密码、公司人员清单等敏感数据,均会通过Email进行传输,并且...

    漏斗社区
  • vue与struct2的通信

    注意最后返回的数据格式是:"success_jsonpCallback(<json字符串>)"

    陨石坠灭
  • [读书笔记]响应式web设计 转

    @media screen and (max-device-width:400px){ 

    LeoXu
  • 调度工具 taskctl-> Designer 设计IDE环境

    桌面软件Designer是TASKCTL 调度平台客户端工具软件之一,本文旨在介绍该软件的功能与操作,以便帮助相关人员对该软件的使用。

    taskctl官方频道
  • 安全通信TLS介绍

    现在我们每天都离不开网络,计算机之间的通信安全是怎么保证的。在这篇文章中,将介绍TLS技术是怎么为安全的通信保驾护航的。

    暮雨
  • 数据安全03-RSA 加密原理

    RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。在了解RSA算法之前,先熟悉下几个术语 根据密钥的使用方法,可以将密码分为对称密码和公...

    far
  • 花椒前端基于WebAssembly 的H.265播放器研发

    随着近些年直播技术的不断更新迭代,高画质、低带宽、低成本成为直播行业追求的重要目标之一,在这种背景下,H.264 标准已成为行业主流,而新一代的 HEVC(H....

    LiveVideoStack
  • PowerShell 通过 WMI 获取补丁

    Win32_QuickFixEngineering class - Windows applications

    林德熙

扫码关注云+社区

领取腾讯云代金券