MENU

RSA 常用工具介绍

June 24, 2016 • Read: 9936 • CTF

介绍一下RSA中常用的两款工具RSAtool和yafu。

1 RSAtool

没有找到RSAtool自己的网站或是官方一点的下载地址,搜索引擎大致看了看也没看到比较好的介绍或是使用说明,只好自己随便写写了。

RSAtool是一个非常方便实用的小工具,可以用来计算RSA中的几个参数、生成密钥、加解密,一些不太复杂的破解工作也可以用它。

我们找一道题为例,来看看RSAtool的基本用法。

还记得veryeasy RSA吗?是不是不难?那继续来看看这题吧,这题也不难。
已知一段RSA加密的信息为:0xdc2eeeb2782c且已知加密所用的公钥:
(N=322831561921859 e = 23)
请解密出明文,提交时请将数字转化为ascii码提交
比如你解出的明文是0x6162,那么请提交字符串ab
提交格式:PCTF{明文字符串}

这道题可以用Python算出来,在上一篇RSA简单介绍里已经说过了,其实用RSAtool可以更方便,因为不用自己去写脚本。

RSAtool 界面

图中的PQRDE分别就是RSA算法中的pqNde,右上角选择进制,注意不要弄错,e只有十六进制可用,所以这里要把23换成17

N=322831561921859填入,左下角有一个Factor N的按钮,这是分解N的意思,点一下,会自动开始分解因数,得到P=13574881Q=23781539,再点一下Calc. D,计算出d=42108459725927,这时可以看到Test按钮不再是灰色,表明可以使用简单的加解密功能,点它,弹出一个框。

RSAtool 加解密功能

第一个框是明文,第二个框是密文,输入明文6162,点击Encrypt,得到密文178401292768926,这时就可以使用解密功能(好像必须先用一次加密才行)。

密文0xdc2eeeb2782c,换算十进制242094131279916,点Decrypt,直接得到字符串3a5Y

2 yafu

yafu主要是对比较大的N进行分解,效率比普通的方法快很多。比如分解N = 87924348264132406875276140514499937145050893665602592992418171647042491658461
RSAtool会崩掉。。。

yafu 界面

用法很简单,就是factor()就好了。
4.jpg

过几分钟会出结果。

P39 = 275127860351348928173285174381581152299
P39 = 319576316814478949870590164193048041239
Last Modified: February 15, 2017
Archives QR Code
QR Code for this page
Tipping QR Code