例题
有手就行-2💁♀️
c = 34533624647193630459864898193867716746457242698156942414136896826169638045191n = 38915622445322594788113853812230848083133274092845339659216148461050062802771e = 65537
我们在这可以得到c,n,e的信息
可以发现n的值并不是很大,我们使用yafu分解n值
得到了q,p的值为
q = 210984885740565358250291732634631217851p = 184447441856923584506972548629664462921
在通过RSA的解密算式解密就行了,我们只用通过p,q,求出ϕ(n)
通过ϕ(n)得到私钥d,解密一下就是m的内容了
from Crypto.Util.number import getPrime,bytes_to_long,long_to_bytesimport gmpy2import libnumimport hashlibq = 210984885740565358250291732634631217851p = 184447441856923584506972548629664462921c = 34533624647193630459864898193867716746457242698156942414136896826169638045191n = 38915622445322594788113853812230848083133274092845339659216148461050062802771e = 65537n_ol = (p-1) * (q-1)d = gmpy2.invert(e,n_ol)m = gmpy2.powmod(c,d,n)print(libnum.n2s(m))
