package/python-spake2: new package

SPAKE2 password-authenticated key exchange (in pure python).

This library implements the SPAKE2 password-authenticated key
exchange ("PAKE") algorithm. This allows two parties, who share a
weak password, to safely derive a strong shared secret (and
therefore build an encrypted+authenticated channel).

https://github.com/warner/python-spake2

Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Julien Olivain
2022-11-22 21:31:26 +01:00
committed by Thomas Petazzoni
parent 433ce2966f
commit 9aaef2a077
7 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
from binascii import hexlify
from spake2 import SPAKE2_A, SPAKE2_B
shared_password = b"This Is The Password!"
alice = SPAKE2_A(shared_password)
alice_msg = alice.start()
bob = SPAKE2_B(shared_password)
bob_msg = bob.start()
# Alice and Bob exchange their messages...
alice_key = alice.finish(bob_msg)
bob_key = bob.finish(alice_msg)
print("alice_key:", hexlify(alice_key))
print(" bob_key:", hexlify(bob_key))
assert alice_key == bob_key