下载附件发现一个flag.enc和pub.key。猜测是需要通过pub.key去解密flag.enc 得到flag
-----BEGIN PUBLIC KEY-----
MDwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAMAzLFxkrkcYL2wch21CM2kQVFpY9+7+
/AvKr1rzQczdAgMBAAE=
-----END PUBLIC KEY-----
使用在线工具得到
密钥类型 RSA
密钥强度 256
PN(e) 65537
PN(n) 8693448229604811919066606200349480058890565601720302561721665405 8378322103517
DER格式303c300d06092a864886f70d0101010500032b003028022100c0332c5c64ae47182f6c1c876d42336910545a58f7eefefc0bcaaf5af341ccdd0203010001
发现有e和n 分解一下n
得到p、q

P39 = 304008741604601924494328155975272418463
P39 = 285960468890451637935629440372639283459
计算d
d=81176168860169991027846870170527607562179635470395365333547868786951080991441
使用脚本解密flag.enc
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("flag.enc","rb") as f: #以二进制读模式,读取密文
f = f.read()
print(rsa.decrypt(f,key)) # f:公钥加密结果 key:私钥
解得flag:

Comments NOTHING