Vytvoříme dva oddělené programy, jeden pro šifrování a jeden pro dešifrování.
První program (šifrování a zobrazení klíče):
from cryptography.fernet import Fernet
# Generování klíče
key = Fernet.generate_key()
print(f'Generated key: {key.decode()}') # Dekódování z bytes na string pro čitelný výstup
cipher_suite = Fernet(key)
# Šifrování dat
data = input("Enter message to encrypt: ").encode() # Převod vstupu na bytes
cipher_text = cipher_suite.encrypt(data)
print(f'Encrypted data: {cipher_text.decode()}') # Dekódování z bytes na string pro čitelný výstup
Ukázka zašifrovaného textu a zobrazení klíče pro dešifrování:
Druhý program (vložení zašifrovaného textu a dešifrovacího klíče):
from cryptography.fernet import Fernet
# Získání klíče a zašifrovaných dat od uživatele
key = input("Enter your key: ").encode() # Převod vstupu na bytes
cipher_text = input("Enter the encrypted message: ").encode() # Převod vstupu na bytes
cipher_suite = Fernet(key)
# Dešifrování dat
plain_text = cipher_suite.decrypt(cipher_text)
print(f'Decrypted data: {plain_text.decode()}') # Dekódování z bytes na string pro čitelný výstup
Při používání těchto programů je důležité zachovat klíč v bezpečí a používat ho pouze pro dešifrování dat. Pokud klíč ztratíte, nebudete moci data dešifrovat.
Ukázka dešifrovaného textu:
Knihovna cryptography
je silný a flexibilní balíček pro Python, který poskytuje kryptografické recepty a šifrovací primitiva. Je navržen tak, aby byl co nejsnáze použitelný a aby zabraňoval běžným chybám spojeným s kryptografií.
Tato knihovna je navržena tak, aby bylo možné s její pomocí provádět širokou škálu kryptografických operací, včetně:
Šifrování a dešifrování dat: Pomocí různých algoritmů, jako je AES a Triple DES.
Práce s kryptografickými hašemi: Ty jsou běžně používány pro ověření integrity dat a vytváření digitálních otisků prstů.
Digitální podpisy: Tyto jsou důležité pro ověřování původu dat a jejich integrity.
Práce s certifikáty a veřejnými klíči: Tyto funkce jsou důležité pro zabezpečenou komunikaci a infrastrukturu veřejných klíčů (PKI).
Generování a správa kryptografických klíčů: To je základem většiny kryptografických systémů.
cryptography
je navržena tak, aby byla bezpečná a aby omezila riziko zneužití. Například se snaží zajistit, aby byly všechny kryptografické operace prováděny v izolovaných prostředích, což znamená, že pokud dojde k úniku dat, jsou ohrožena pouze data z jedné operace, nikoli celý systém.
Přesto je důležité si uvědomit, že bezpečnost jakéhokoli kryptografického systému závisí také na správném použití a správě klíčů a certifikátů. Bezpečné použití cryptography
vyžaduje pečlivé řízení a správu těchto klíčových prvků.