Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ECC_SealedBox_encrypt_decrypt.py
- # Viestin kryptaus, lähetys, vastaanotto ja purku
- # Avaimet luodaan käyttäen elliptic Curve25519 algorithm,
- # elliptisten käyrien algoritmillä
- # Käyttää Pythonin PyNaCl-kirjastoa
- # Lähde: https://pynacl.readthedocs.io/en/stable/public/
- # Juhani Kaukoranta 23.8.2019
- from nacl.public import PrivateKey, SealedBox
- # Bob on luonut aiemmin oman privaatin avaimensa privateBob
- privateBob = PrivateKey.generate()
- # ja julkisen avaimensa publicBob luomansa privaatin avaimensa avulla
- publicBob = privateBob.public_key
- # Bobin julkinen avain publicBob on myös Alicen tiedossa
- # Alice kirjoittaa viestinsä Bobille
- plaintext = input("Kirjoita viesti: ")
- # plaintext byte-muotoiseksi viestiksi 'message', utf-8 ääkkösten kelpuuttamiseksi
- message = bytes(plaintext,'utf-8')
- # Alice kryptaa message-viestin Bobin julkisella avaimella publicBob
- encryptedtxt = SealedBox(publicBob).encrypt(message)
- # Alice lähettää encryptedtxt-paketin Bobille
- # Nyt Bob haluaa avata ja lukea saamansa viestipaketin encryptedtxt
- # Bob purkaa viestipaketin privaatilla avaimellaan privateBob
- decryptedtxt = SealedBox(privateBob).decrypt(encryptedtxt)
- # Lopuksi Bob dekoodaa viestin utf-8merkistön mukaiseksi (ne ääkköset...)
- avattutxt = decryptedtxt.decode('utf-8')
- print("Avattu teksti = ",avattutxt)
Advertisement
Add Comment
Please, Sign In to add comment