感受一下密码学对你的关爱
nc后得到
This is a RSA challenge Please input a number
随机输入数字发现仅1-10存在输出密文c,其余全部输出
0x0L
还有一个每次都会新生成的n
由此得是已知e,n和密文c求明文m
对n进行因数分解得到p,q,计算出欧拉函数 φ (n)
再利用gmpy2库求d
import gmpy2
d = gmpy2.invert(e,(p-1)*(q-1))
计算出M值后转换为明文
from Crypto.Util.number import bytes_to_long, long_to_bytes
M=pow(c,d,n)
string = long_to_bytes(M) # m明文