Skip to content

Instantly share code, notes, and snippets.

@alopatindev
Last active May 24, 2017 14:43
Show Gist options
  • Save alopatindev/d0d9dd6bff21a44ffc9e00524f9fdd25 to your computer and use it in GitHub Desktop.
Save alopatindev/d0d9dd6bff21a44ffc9e00524f9fdd25 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python2
# https://www.youtube.com/watch?v=YEBfamv-_do
from random import randrange
public_prime = 67280421310721 # aka p
public_base = 3 # aka g
def generate_key():
return randrange(123, 456) % public_prime
alice_private_key = generate_key()
bob_private_key = generate_key()
print 'private keys', alice_private_key, bob_private_key
alice_public_key = public_base ** alice_private_key
bob_public_key = public_base ** bob_private_key
alice_common_private_key = (bob_public_key ** alice_private_key) % public_prime
bob_common_private_key = (alice_public_key ** bob_private_key) % public_prime
assert alice_common_private_key == bob_common_private_key
print 'common private key', alice_common_private_key, bob_common_private_key
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment