打开文件夹 发现一个公钥文件和一个密文文件
用记事本把公钥文件打开
这里可以利用在线网站分解为n和e
RSA公私钥分解 Exponent、Modulus,Rsa公私钥指数、系数(模数)分解--查错网
利用yufu工具把n分解为p和q 这里需要注意yufu工具只能处理十进制的数据 我们要把n的十六进制转换为十进制继续大整数因数分解
当然也可以利用在线网站分解 factordb.com
现在知道了n和e 还有p和q
接下来开始对c进行转换 c用记事本打开是乱码 用010打开
这串数字就是密文的十进制^
编写反脚本
from Crypto.Util.number import *
import gmpy2
n = 'C0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD'
n = int(n, 16)
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
e = 65537
c = '4196C0594A5E000A96B878B67CD724795B13A8F2CA54DA06D0F19C28BE689B62'
c = int(c, 16)
d = gmpy2.invert(e, (p - 1) * (q - 1))
flag = pow(c, d, n)
print(long_to_bytes(flag))
得到flag
flag{decrypt_256}