26 lines
461 B
Python
26 lines
461 B
Python
from Crypto.PublicKey import RSA
|
|
from Crypto.Signature import pss
|
|
from Crypto.Hash import SHA256
|
|
|
|
key = RSA.generate(2048)
|
|
|
|
# Generate / write alice pub key
|
|
with open("alice_public.pem", "wb") as file:
|
|
file.write(key.publickey().export_key())
|
|
|
|
m = input("Message: ").encode()
|
|
|
|
h = SHA256.new(m)
|
|
|
|
signer = pss.new(key)
|
|
|
|
signature: bytes = signer.sign(h)
|
|
|
|
print(f'Signature: {signature}')
|
|
|
|
with open("sigtext", 'wb') as file:
|
|
file.write(m + signature)
|
|
|
|
|
|
|