Aller au contenu principal

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

  1. Utilisez cryptography.fernet.Fernet pour créer une clé et chiffrer/déchiffrer des messages.
  2. Générez une clé sécurisée et stockez-la de manière appropriée.
  3. Implémentez des fonctions pour chiffrer et déchiffrer des messages.
  4. 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).