-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathLatticeKeyExchange.py
More file actions
26 lines (21 loc) · 759 Bytes
/
LatticeKeyExchange.py
File metadata and controls
26 lines (21 loc) · 759 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From latticecrypto import LWEKeyExchange
#LWE key exchange param
lweParams = {
'n': 512,
'q': 4093,
'std_dev': 3.2
}
#initialize key exchange objects
Ember = LWEKeyExchange(lweParams)
Daniel = LWEKeyExchange(lweParams)
#Embers public and private keys
Ember_public_key, Ember_private_key = Ember.generate_keypair()
#Daniels public and private keys
Daniel_public_key, Daniel_private_key = Daniel.generate_keypair()
Ember_shared_secret = Ember.generate_shared_secret(Daniel_public_key,
Ember_private_key)
Daniel_shared_secret =
Daniel.generate_shared_secret(Ember_public_key, Daniel_private_key)
#checking shared secrets are the same
Assert Ember_shared_secret == Daniel_shared_secret
print("Shared secret has been established successfully")