1.题目
公钥:pub.key
-----BEGIN PUBLIC KEY-----
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMAzLFxkrkcYL2wch21CM2kQVFpY9+7+
/AvKr1rzQczdAgMBAAE=
-----END PUBLIC KEY-----
进行公钥分解:
分解链接:RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网
得到10进制n=86934482296048119190666062003494800588905656017203025617216654058378322103517
分解n:
import rsa
import gmpy2
e= 65537
n= 86934482296048119190666062003494800588905656017203025617216654058378322103517
p= 285960468890451637935629440372639283459
q= 304008741604601924494328155975272418463
phi=(p-1)*(q-1)
d= gmpy2.invert(e,phi)
key = rsa.PrivateKey(n,e,d,q,p) #在pkcs标准中,pkcs#1规定,私钥包含(n,e,d,p,q)
with open("D:\\ctf\\flag\\flag.enc","rb") as f: #以二进制读模式,读取密文
f = f.read()
print(rsa.decrypt(f,key)) # f:公钥加密结果 key:私钥
#b'flag{decrypt_256}\n'