rsatool的使用。(提供enc和pem文件类)

首先就是安装:参考看雪老哥的这篇文章:

千万注意自己电脑的默认的python版本,我的就是默认是python2,而教程大多数python3,这就导致我刚开始下载和使用怎么也不对。使用rsatool的过程中都是python3

[原创]Crypto中RSA常用工具及python库说明-密码应用-看雪论坛-安全社区|安全招聘|bbs.pediy.com

这道题来自XCTF的Normal_RSA。解压完之后出现两个这样的文件,enc是加密后的文件,pem是公钥/私钥。这就很明显了,我们需要找到私钥,然后去解密flag.enc。这个其实就已经涉及到具体的实际应用上了,跟以往的直接给数字的RSA解密还是有一些不同的。

 第一步:openssl的使用,先从下面那个pubkey.pem文件中提取出数字n和e。(RSA的公钥对不就是这两个嘛)

输入:rsa -pubin -text -modulus  -in pubkey.pem

得到了e和n,16进制,得转一下。

Exponent: 65537 (0x10001)
Modulus=C2636AE5C3D8E43FFB97AB09028F1AAC6C0BF6CD3D70EBCA281BFFE97FBE30DD

也可以直接找个在线网站:

RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网 (chacuo.net) 

 二、在线分解n

在这里插入图片描述

三、重点来了,rsatool的使用 

这个叫rsatool的工具,可以由p、q、e计算d,并生成pem文件


然后按照用法,把pubkey.pem和rsatool.py放一块,从终端输入命令: 

记得先cd到rsatool那个文件夹:

千万注意是python3才行。网上有的教程是python,那是人家默认版本是3. 

python3 rsatool.py -f PEM -o private.pem -p 275127860351348928173285174381581152299 -q 319576316814478949870590164193048041239 -e 65537

 然后就能得到一个私钥文件,后缀也是pem。

 然后把private.pem和pubkey.pem、flag.enc放一个文件夹里,使用openssl用private.pem解密flag.enc文件并将明文生成txt文件。

openssl rsautl -decrypt -in flag.enc -inkey private.pem -out flag.txt

总结:

千万记得python的版本,不然很难搞。改了好长时间才把工具弄服帖 

猜你喜欢

转载自blog.csdn.net/hacker_zrq/article/details/121431521