Cryptographie de base
#Cryptographie de base
Fonctions de hachage, MAC, chiffrement symétrique/asymétrique, signatures; erreurs fréquentes à éviter.
#Hash (Python)
#Exercice : Chiffrement symétrique avec Fernet
Implémentez un système de chiffrement symétrique sécurisé en utilisant la bibliothèque Fernet de Python.
#Instructions
- Utilisez
cryptography.fernet.Fernet
pour créer une clé et chiffrer/déchiffrer des messages. - Générez une clé sécurisée et stockez-la de manière appropriée.
- Implémentez des fonctions pour chiffrer et déchiffrer des messages.
- Gérez les erreurs potentielles (clé invalide, message corrompu).
#Exemple de code
pythonpython
1from cryptography.fernet import Fernet2import base643import os4 5def generer_cle():6 """Génère une clé Fernet sécurisée"""7 return Fernet.generate_key()8 9def sauvegarder_cle(cle, fichier):10 """Sauvegarde la clé dans un fichier"""11 with open(fichier, 'wb') as f:12 f.write(cle)13 14def charger_cle(fichier):
Attention: ne pas réutiliser des primitives sans schéma; préférer libs haut niveau (ex.: Fernet, NaCl).