jukaukor

ECC_sealedbox_encrypt_decrypt.py

Aug 23rd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. # ECC_SealedBox_encrypt_decrypt.py
  2. # Viestin kryptaus, lähetys, vastaanotto ja purku
  3. # Avaimet luodaan käyttäen elliptic Curve25519 algorithm,
  4. # elliptisten käyrien algoritmillä
  5. # Käyttää Pythonin PyNaCl-kirjastoa
  6. # Lähde: https://pynacl.readthedocs.io/en/stable/public/
  7. # Juhani Kaukoranta 23.8.2019
  8.  
  9. from nacl.public import PrivateKey, SealedBox
  10.  
  11. # Bob on luonut aiemmin oman privaatin avaimensa privateBob
  12. privateBob = PrivateKey.generate()
  13. # ja julkisen avaimensa publicBob luomansa privaatin avaimensa avulla
  14. publicBob = privateBob.public_key
  15. # Bobin julkinen avain publicBob on myös Alicen tiedossa
  16.  
  17. # Alice kirjoittaa viestinsä Bobille
  18. plaintext = input("Kirjoita viesti: ")
  19. # plaintext byte-muotoiseksi viestiksi 'message', utf-8 ääkkösten kelpuuttamiseksi
  20. message = bytes(plaintext,'utf-8')
  21. # Alice kryptaa message-viestin Bobin julkisella avaimella publicBob
  22. encryptedtxt = SealedBox(publicBob).encrypt(message)
  23. # Alice lähettää encryptedtxt-paketin Bobille
  24.  
  25. # Nyt Bob haluaa avata ja lukea saamansa viestipaketin encryptedtxt
  26. # Bob purkaa viestipaketin privaatilla avaimellaan privateBob
  27. decryptedtxt = SealedBox(privateBob).decrypt(encryptedtxt)
  28. # Lopuksi Bob dekoodaa viestin utf-8merkistön mukaiseksi (ne ääkköset...)
  29. avattutxt = decryptedtxt.decode('utf-8')
  30. print("Avattu teksti = ",avattutxt)
Advertisement
Add Comment
Please, Sign In to add comment