前言:剧情八
提示:
下载:
只给了公钥
那么可以用RsaCtfTool去分离公钥---》 得到(e,n):
如何安装参考:
kail下安装RsaCtfTool - 九皋777 - 博客园 (cnblogs.com)
已知n,那么去得到p q
或者使用在线网站:
RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网 (chacuo.net)
脚本:
这种不可以:
然后我参考了,我以前逆向碰见过的类似:
buuctf rsa_buuctf rsa flag.enc-CSDN博客
import rsa
import gmpy2
n = 87924348264132406875276140514499937145050893665602592992418171647042491658461
p =275127860351348928173285174381581152299
q =319576316814478949870590164193048041239
e = 65537
L = (p - 1) * (q - 1)
d = gmpy2.invert(e, L)
key = rsa.PrivateKey(n,e,d,p,q)
with open(r"C:\Users\13168\Downloads\547de1d50b95473184cd5bf59b019ae8\flag.enc","rb")as f:
f=f.read()
print(rsa.decrypt(f,key))
结果:
PCTF{256b_i5_m3dium}