RSAtool使用方法

最近在做CTF的时候遇到几道RSA的解密题目,网上介绍了RSAtool这款工具,在网上找了一部分资料,也没有相关的使用方法,自己总结了一下,写下来和大家一起分享。

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

这里就不在RSA算法上多做研究了,直接通过两个CTF例子直观体现吧。

例一

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

图中的P、Q、R、D、E分别就是RSA算法中的p、q、N、d、e,右上角选择进制,注意不要弄错,e只有十六进制可用,所以这里要把23换成17。

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

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

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

例二

已知RSA公钥生成参数:
p = 3487583947589437589237958723892346254777 
q = 8767867843568934765983476584376578389
e = 65537
求d = 
请提交PCTF{d}

直接将p,q填入,将e的值65537转换成10进制10001,之后计算d的值就可以了。

有钱的捧个钱场
0%