RSA1 密码学writeup RSA1

感受一下密码学对你的关爱

nc后得到

This is a RSA challenge Please input a number

随机输入数字发现仅1-10存在输出密文c,其余全部输出

0x0L

同时e=0x10001不变

还有一个每次都会新生成的n

由此得是已知e,n和密文c求明文m

使用factordb.com

对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明文

从1到10每次输出4个字母,全部组合即为flag