BUUCTF RSA公钥加签
程序员文章站
2022-05-02 10:39:18
...
得到两个文件:
pub.key
flag.enc
将pub.key的后缀名改为txt,打开得到:
把pub中的内容,进行公钥解析
分解N的网站,得到p,q
factordb
再用工具RSA Tool2 by Te!就能获取到 d=81176168860169991027846870170527607562179635470395365333547868786951080991441,
你写脚本也行,我比较喜欢用工具。RSA Tool2 by Te!
最后上脚本求flag:
import rsa
e= 65537
n= 86934482296048119190666062003494800588905656017203025617216654058378322103517
p= 285960468890451637935629440372639283459
q= 304008741604601924494328155975272418463
d= 81176168860169991027846870170527607562179635470395365333547868786951080991441
key = rsa.PrivateKey(n,e,d,q,p) #在pkcs标准中,pkcs#1规定,私钥包含(n,e,d,p,q)
with open("C:\\Users\\MIKEWYW\\Desktop\\flagenc.txt","rb") as f: #以二进制读模式,读取密文
f = f.read()
print(rsa.decrypt(f,key)) # f:公钥加密结果 key:私钥
这里需要安装一个rsa的模块(对于python3):
输入pip3 install rsa
得到flag{decrypt_256}
上一篇: 软件工程作业整理(第二章)
下一篇: Scala 2.8 final 发布