0Pricing
Cryptology Academy · Leçon

GCM et chiffrement authentifié

Ajoutez des balises d’authentification au chiffrement pour empêcher toute altération.

GCM et chiffrement authentifié 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

AES-GCM est la référence en matière de chiffrement authentifié. Il assure la confidentialité AND l'intégrité en une seule opération, ce qui empêche toute altération sans étape HMAC distincte.

Le problème du chiffrement seul

Le chiffrement assure la confidentialité, mais NOT l'intégrité. Un attaquant qui intercepte un texte chiffré AES-CBC peut inverser des bits et modifier le texte en clair déchiffré sans connaître la clé.

AEAD : chiffrement authentifié avec données associées

Les schémas AEAD produisent : texte chiffré + balise d'authentification. La balise authentifie à la fois le texte chiffré AND les éventuelles données associées non chiffrées (AAD). Toute modification invalide la balise.

Architecture de GCM

AES-GCM utilise : 1. AES-CTR pour le chiffrement 2. GHASH pour l'authentification GHASH calcule un MAC polynomial sur le texte chiffré + AAD, en utilisant une multiplication dans GF(2^128).

Présentation de GHASH

GHASH(H, A, C) = hachage des données associées (AAD) et du texte chiffré à l'aide de la sous-clé H = AES(K, 0^128). Le polynôme est évalué en H sur GF(2^128). Le résultat est combiné par XOR avec le compteur chiffré pour former la balise.

Entrées et sorties d'AES-GCM

Entrées : clé de 128/192/256 bits, nonce de 96 bits, texte en clair, données AAD facultatives Sorties : texte chiffré (de même longueur que le texte en clair), balise d'authentification de 128 bits La balise fait généralement 16 octets. Une troncature à moins de 12 octets n'est pas recommandée.

Exigences relatives au nonce dans GCM

GCM exige un nonce unique pour chaque chiffrement effectué avec la même clé. Un nonce aléatoire de 96 bits est la norme. Après 2^32 messages, la probabilité de collision dépasse 1 %. À ce stade, renouvelez la clé.

Catastrophe liée à la réutilisation du nonce dans GCM

Réutiliser (clé, nonce) dans GCM permet à l'attaquant de retrouver la sous-clé GHASH H et de falsifier n'importe quel texte chiffré avec une balise valide. Cela compromet complètement la confidentialité et l'intégrité.

Cas d'utilisation des données associées (AAD)

Les données AAD sont des métadonnées que vous souhaitez authentifier sans les chiffrer : - En-tête HTTP : authentifié pour empêcher les attaques de routage des réponses - ID d'enregistrement de base de données : garantit que le texte chiffré est déchiffré dans la bonne ligne - Version du protocole : empêche les attaques par rétrogradation

Exemple complet d'AES-GCM en Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(256) nonce = os.urandom(12) aad = b'user_id=12345' aesgcm = AESGCM(key) ct = aesgcm.encrypt(nonce, b'secret', aad) pt = aesgcm.decrypt(nonce, ct, aad) # raises if tampered

Alternatives : ChaCha20-Poly1305

ChaCha20-Poly1305 est l'autre grand schéma AEAD. Il est utilisé dans TLS 1.3 pour les appareils dépourvus de AES-NI (ARM et appareils mobiles). Il offre une sécurité comparable à AES-GCM, mais il est plus rapide avec des logiciels dépourvus d'accélération matérielle.

Vérification rapide

Contre quoi la balise d'authentification d'AES-GCM protège-t-elle ?

Récapitulatif

AES-GCM est le choix par défaut recommandé pour le chiffrement authentifié. Ensuite, nous étudierons les chiffrements par flux : du RC4 compromis au ChaCha20 moderne.

Questions Fréquemment Posées

La leçon « GCM et chiffrement authentifié » est-elle gratuite ?

Oui — le texte complet de « GCM et chiffrement authentifié » 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 « GCM et chiffrement authentifié » ?

Ajoutez des balises d’authentification au chiffrement pour empêcher toute altération. 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 « GCM et chiffrement authentifié » ?

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. Fondamentaux des chiffrements par blocs et bourrage
  2. ECB ou CBC : motifs et IV
  3. Mode CTR et fonctionnement des chiffrements par flot
  4. GCM et chiffrement authentifié
← Retour à Cryptology Academy