下载附件后得到以下文件
把pub.key放到linux中OpenSSL解密即可 用到如下命令
openssl rsa -inform PEM -in pub.key -pubin -text -out Key1_pub.txt
或者是直接用在线网站解析(http://ctf.ssleye.com/pub_asys.html)
得到如下结果
可见 e和n都已经出来结果了 利用素数在线分解网站分解n(factordb.com)
得到p和q 再用脚本跑出d的值 (需要安装gmpy2模块)
import gmpy2
p=3
q=11
e=3
d = gmpy2.invert(e,(q-1)*(p-1))
print (d)
最后的脚本是 (需要安装rsa模块)
import rsa
e= 65537
n= 86934482296048119190666062003494800588905656017203025617216654058378322103517
p= 285960468890451637935629440372639283459
q= 304008741604601924494328155975272418463
d= 81176168860169991027846870170527607562179635470395365333547868786951080991441
key = rsa.PrivateKey(n,e,d,q,p)
with open("C:\Users\MIKEWYW\Desktop\flagenc.txt","rb") as f:
f = f.read()
print(rsa.decrypt(f,key))
得到flag为
flag{decrypt_256}