BUUCTF_RSA


BUUCTF_RSA


下载文件解压得到两个文件

在这里插入图片描述
既然题目都说是RSA算法了,看文件名也能猜到一个是公钥文件( pub.key )一个是需要解密的文件( flag.enc ),将他们转化为txt格式查看:

在这里插入图片描述
乱码不用管它.

在这里插入图片描述
这个是公钥,用在线计算工具转换 ①

在这里插入图片描述
得到e和n,我们拿n去求p和q ②

在这里插入图片描述
然后把 p,q,e,n 输入到 RSA-Tool 2 by tE! 上,把 Number Base 改成 10 ,得到 d ,如图:

在这里插入图片描述
写个python脚本将密文解密,如下:

import rsa

e = 65537
n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
d = 81176168860169991027846870170527607562179635470395365333547868786951080991441

key = rsa.PrivateKey(n,e,d,q,p)
with open('D:/applicance/reverse\ctf/buuctf/output/flag.txt','rb')as data:
    data = data.read()
    print(rsa.decrypt(data,key))

(pycharm安装RSA模组 :File ->Settings ->Project : untitled -> Project Interpreter,点 + 搜索rsa安装),如图:
在这里插入图片描述

最后,运行得到结果:

在这里插入图片描述

①计算n和e的网站:http://ctf.ssleye.com/pub_asys.html
②用n计算p,q的网站:http://factordb.com/index.php


版权声明:本文为weixin_46009088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。