0Pricing
Cryptology Academy · Leçon

Chiffrer des fichiers avec AES en pratique

Utilisez OpenSSL et Python pour chiffrer et déchiffrer de vrais fichiers avec AES

Chiffrer des fichiers avec AES en pratique est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Bienvenue

La théorie passe à la pratique. Dans cette leçon, nous chiffrons et déchiffrons de vrais fichiers avec AES-GCM en Python, le mode recommandé pour le chiffrement authentifié.

Pourquoi AES-GCM ?

AES-GCM fournit un chiffrement authentifié avec données associées (AEAD). Il chiffre AND produit une balise d'authentification de 16 octets. Toute altération est détectée avant le déchiffrement.

Composants d'AES-GCM

Entrées : clé de 32 octets, nonce aléatoire de 12 octets, texte en clair, données associées facultatives (AAD). Sorties : texte chiffré, balise d'authentification de 16 octets. Le nonce doit être unique pour chaque chiffrement.

Installer la bibliothèque cryptography

pip install cryptography La bibliothèque Python cryptography de PyCA est la bibliothèque cryptographique recommandée. Elle s'appuie sur OpenSSL et fournit à la fois des recettes de haut niveau et des primitives hazmat de bas niveau.

Chiffrer avec AES-GCM en Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(bit_length=256) nonce = os.urandom(12) aad = b'file_version_1' aesgcm = AESGCM(key) ciphertext = aesgcm.encrypt(nonce, plaintext, aad)

Déchiffrer avec AES-GCM en Python

try: plaintext = aesgcm.decrypt(nonce, ciphertext, aad) except Exception: print('Decryption failed — tampered or wrong key') Si la vérification de la balise échoue, decrypt() lève une exception. N'ignorez jamais cette exception.

Flux de chiffrement d'un fichier

with open('input.bin', 'rb') as f: plaintext = f.read() ciphertext_with_tag = aesgcm.encrypt(nonce, plaintext, None) # Store: nonce (12 bytes) + ciphertext_with_tag with open('output.enc', 'wb') as f: f.write(nonce + ciphertext_with_tag)

Flux de déchiffrement d'un fichier

with open('output.enc', 'rb') as f: data = f.read() nonce = data[:12] ciphertext_with_tag = data[12:] plaintext = aesgcm.decrypt(nonce, ciphertext_with_tag, None)

Gestion des nonces

Avec AES-GCM, un nonce aléatoire de 12 octets est sûr jusqu'à 2^32 chiffrements avec la même clé, avant que la probabilité de collision ne devienne non négligeable. Après cela, faites tourner la clé.

Utiliser OpenSSL en ligne de commande

# Encrypt: openssl enc -aes-256-cbc -pbkdf2 -in plain.txt -out encrypted.bin # Decrypt: openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out plain.txt Remarque : le mode CBC — ajoutez l'option -GCM pour le chiffrement authentifié dans les versions récentes d'OpenSSL.

Bonnes pratiques pour le stockage des clés

Ne codez jamais les clés en dur dans le code source. Utilisez des variables d'environnement, AWS KMS, le coffre-fort HashiCorp ou le trousseau de clés de l'OS. Faites régulièrement tourner les clés. Révoquez-les lorsque des membres du personnel quittent l'organisation.

Vérification rapide

Que se passe-t-il lorsque AES-GCM détecte que le texte chiffré a été altéré ?

Récapitulatif

Vous pouvez maintenant chiffrer des fichiers avec AES-GCM en Python. Nous passons ensuite au chiffrement asymétrique et apprenons le fonctionnement de RSA depuis ses fondements.

Questions Fréquemment Posées

La leçon « Chiffrer des fichiers avec AES en pratique » est-elle gratuite ?

Oui — le texte complet de « Chiffrer des fichiers avec AES en pratique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Chiffrer des fichiers avec AES en pratique » ?

Utilisez OpenSSL et Python pour chiffrer et déchiffrer de vrais fichiers avec AES Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Chiffrer des fichiers avec AES en pratique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Concepts du chiffrement symétrique
  2. Structure d’AES : tours et matrice d’état
  3. Expansion et tailles des clés AES
  4. Chiffrer des fichiers avec AES en pratique
← Retour à Cryptology Academy