小A的RSA
小A使用 RSA 算法生成了一对密钥,公钥为 (e,n)=(17,437)。他将一条消息使用 RSA 加密后得到了密文 c=123。你的任务是解密密文并获取原始消息,flag为原始消息的MD5值。
e = 17
n = 437
c = 123
exp:
import sympy
import hashlib
import gmpy2
e = 17
n = 437
# print(sympy.isprime(n))
# print(gmpy2.is_prime(n))
c = 123
p, q = sympy.factorint(n)
print(p, q)
phi = n - 1
d = pow(e, -1, phi)
m = str(pow(c, d, n)).encode()
print(m)
print(hashlib.md5(m).hexdigest())
# flag{40008b9a5380fcacce3976bf7c08af5b}