攻防世界Normal_RSA

题目信息

aCx9JA.png

提供的文件

flag.enc 看后缀enc,分析是一个通过openssl加密后生成的文件

pubkey.pem 应该是一个公钥信息文件

打开pubkey.pem文件

这里我使用kali系统,因为kali系统自带了openssl

  1. 先进入openssl
  2. 输入 rsa -pubin -text -modulus -in warmup -in pubkey.pem 查看信息

aCxFQP.png

Exponent:指的是RSA中的e

Modulus:指的是N,即pq相乘

对Modulus的处理

先将16进制转为10进制,接着在线质因数分解

aCx0Qx.png

现在已得到的信息:
p=275127860351348928173285174381581152299
q=319576316814478949870590164193048041239
e=65537

生成private.pem私钥文件

这里使用个工具 rsatool.py 可以通过p、q、e计算d,并生成pem文件

不过里面需要一些模块,对应的通过pip进行安装即可

由于kali2020内置了python2和3,这里我使用了如下命令:

python3 -m pip install gmpy

安装好需要的模块后输入命令:

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

即可生成private.pem文件

解密flag.enc文件

输入命令:

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

即可解密出

posted @ 2020-07-27 03:36  labster  阅读(2194)  评论(0编辑  收藏  举报