本题用到的工具网站:
RSA算法辅助工具(RSA-Tool 2)下载 v1.7绿色版--pc6下载站https://www.pc6.com/softview/SoftView_100193.html十六进制转十进制 | 菜鸟工具 (runoob.com)
https://c.runoob.com/unit-conversion/7999/
RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网 (chacuo.net)http://tool.chacuo.net/cryptrsakeyparse
拿到题一个flag.enc,一个pub.key,直接上去就打开
OK,直接撞墙。pub.key就是public key呗,就公钥呗,一般就是文字呗,就是记事本呗。既然一个是记事本那另一个也试试吧。
好了,见到公钥的文件形式直接给他丢进网站吧RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网 (chacuo.net)
指数就是e呗,模数就是N呗。
N先给它转化成十进制:十六进制转十进制 | 菜鸟工具 (runoob.com)
想要p,q我就给他分解呗:factordb.com
得到p:
285960468890451637935629440372639283459
q:
304008741604601924494328155975272418463
用工具直接计算出D,输进去P,Q,N,E即可:RSA算法辅助工具(RSA-Tool 2)下载 v1.7绿色版--pc6下载站
之后就是脚本小子的时间了!!!
import rsa //非常简单易懂的脚本
e = 65537
n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
d = 81176168860169991027846870170527607562179635470395365333547868786951080991441
key = rsa.PrivateKey(n,e,d,q,p) //只需要知道函数的作用,不用多说
with open(r'D:\buuctf\output\flag.enc','rb')as data: //(D:\buuctf\output\flag.enc这一段就找到flag.enc的绝对路径)
data = data.read()
print(rsa.decrypt(data,key))
提示no module called rsa就去cmd输如入命令行pip install rsa(python基础嗷)
flag{decrypt_256}