Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 90
import random # key generation # public key (g,b,p) # secret key (x) p = next_prime(451643) x = random.randint(1, p) g = random_prime(p) b = power_mod(g,x,p) # encryption m = 12345 r = random.randint(1, p-1) while gcd(r,p-1) != 1: r = r +1 if r >= p-1: r = random.randint(1, p-1) y1 = power_mod(g,r,p) y2 = mod((m * power(b,r)), p) #decryption d = mod(y2 / power(y1, x), p) print("orginal message is %d, decrypted message is %d" %(m, d) )
orginal message is 12345, decrypted message is 12345