import sympy
# prime computing based on the following code
# https://trinket.io/python3/2fb69ab246
key_size = 16
prime1 = 0
prime2 = 0
while prime1 == prime2 or (prime1 * prime2) > 2**key_size:
prime1 = sympy.randprime(3, 2**key_size/2)
prime2 = sympy.randprime(3, 2**key_size/2)
print(prime1)
print(prime2)
p = prime1
q = prime2
# RSA modulus
r = p * q
# Euler's totient
phi = (p-1) * (q-1)
print('p :', p)
print('q :', q)
print('r :', r)
print('phi :', phi)
Comments