#!python3 from Crypto.Util.number import getPrime, bytes_to_long with open('flag.txt', 'rb') as f: flag = f.read() p = getPrime(1024) q = getPrime(1024) r = getPrime(1024) n1 = p * q n2 = p * r n3 = q * r moduli = [n1, n2, n3] e = 65537 c = bytes_to_long(flag) for n in moduli: c = pow(c, e, n) with open('public-key.txt', 'w') as f: f.write(f'n1: {n1}\n') f.write(f'n2: {n2}\n') f.write(f'n3: {n3}\n') f.write(f'e: {e}\n') f.write(f'c: {c}\n')