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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值