Python/ciphers/diffie.py
Sri Suma fc533a7598 Simplified DES (#1382)
* Simplified DES

* Add files via upload

Diffie Hellman algorithm to generate a secret key.

* Update sdes.py

* Format code with psf/black and add doctests
2019-10-30 12:52:20 +01:00

27 lines
750 B
Python

def find_primitive(n):
for r in range(1, n):
li = []
for x in range(n-1):
val = pow(r,x,n)
if val in li:
break
li.append(val)
else:
return r
if __name__ == "__main__":
q = int(input('Enter a prime number q: '))
a = find_primitive(q)
a_private = int(input('Enter private key of A: '))
a_public = pow(a, a_private, q)
b_private = int(input('Enter private key of B: '))
b_public = pow(a, b_private, q)
a_secret = pow(b_public, a_private, q)
b_secret = pow(a_public, b_private, q)
print('The key value generated by A is: ', a_secret)
print('The key value generated by B is: ', b_secret)