例题
    有手就行-2💁‍♀️

    1. c = 34533624647193630459864898193867716746457242698156942414136896826169638045191
    2. n = 38915622445322594788113853812230848083133274092845339659216148461050062802771
    3. e = 65537

    我们在这可以得到c,n,e的信息
    可以发现n的值并不是很大,我们使用yafu分解n值
    image.png
    得到了q,p的值为

    1. q = 210984885740565358250291732634631217851
    2. p = 184447441856923584506972548629664462921

    在通过RSA的解密算式解密就行了,我们只用通过p,q,求出ϕ(n)
    通过ϕ(n)得到私钥d,解密一下就是m的内容了

    1. from Crypto.Util.number import getPrime,bytes_to_long,long_to_bytes
    2. import gmpy2
    3. import libnum
    4. import hashlib
    5. q = 210984885740565358250291732634631217851
    6. p = 184447441856923584506972548629664462921
    7. c = 34533624647193630459864898193867716746457242698156942414136896826169638045191
    8. n = 38915622445322594788113853812230848083133274092845339659216148461050062802771
    9. e = 65537
    10. n_ol = (p-1) * (q-1)
    11. d = gmpy2.invert(e,n_ol)
    12. m = gmpy2.powmod(c,d,n)
    13. print(libnum.n2s(m))