Files
2025-06-02 19:35:30 +02:00

20 lines
458 B
Python

from Cryptodome.Util.number import bytes_to_long, getPrime, inverse
from secret import flag
p, q = getPrime(512), getPrime(512)
n = p*q
e = 65537
m = bytes_to_long(flag.encode())
print(pow(m, e, n))
for _ in range(3):
req = input()
if req[0] == 'e':
print(pow(int(req[1:]), e, n))
elif req[0] == 'd':
phi = (p-1)*(q-1)
d = inverse(e, phi)
dec = pow(int(req[1:]), d, n)
assert dec != m
print(dec)