AES-GCM
Aller à la navigation
Aller à la recherche
Portail > Algorithmes
AES-GCM (Galois/Counter Mode) est le mode AEAD le plus répandu : il combine le chiffrement AES en mode compteur et une authentification par GHASH. C'est le choix par défaut en TLS sur matériel disposant d'AES-NI.
Construction
- Chiffrement : AES en mode CTR produit le keystream XORé au clair.
- Authentification : GHASH, une fonction sur le corps GF(2128), calcule un MAC sur le chiffré et les données associées (AAD). La combinaison forme GMAC.
- Sortie : chiffré + tag d'authentification (128 bits).
Paramètres
| Paramètre | Valeur |
|---|---|
| Clé | 128 ou 256 bits (AES-128/256-GCM) |
| Nonce | 96 bits recommandés |
| Tag | 128 bits (ne pas tronquer excessivement) |
| AAD | Optionnelles, authentifiées non chiffrées |
Performance
Sur les processeurs modernes, AES-GCM est très rapide grâce à AES-NI (chiffrement) et PCLMULQDQ (multiplication sans retenue pour GHASH). C'est ce qui en fait le mode AEAD privilégié côté serveur.
Le danger : réutilisation de nonce
AES-GCM est catastrophiquement sensible à la réutilisation d'un nonce sous une même clé :
- deux messages avec le même nonce révèlent le XOR des clairs (keystream identique) ;
- pire, la réutilisation permet de récupérer la clé d'authentification GHASH et donc de forger des messages valides.
L'unicité du nonce est donc une exigence de sécurité de premier ordre.
Limites d'usage
- Nombre de messages/volume borné par clé et par nonce (pour rester sous les seuils de collision).
- Si l'unicité du nonce ne peut être garantie (systèmes distribués, redémarrages), préférer AES-GCM-SIV (résistant à la réutilisation de nonce) ou XChaCha20-Poly1305.
Usage
Standard en TLS 1.2 et 1.3 (suites AES_128_GCM, AES_256_GCM), IPsec, stockage chiffré. Identifiants openssl : aes-128-gcm, aes-256-gcm.
Points clés à retenir
- AEAD = AES-CTR (chiffrement) + GHASH/GMAC (authentification), tag 128 bits.
- Nonce 96 bits recommandé ; unicité impérative (sinon fuite des clairs ET forge possible).
- Très rapide avec AES-NI + PCLMULQDQ → standard côté serveur.
- Unicité du nonce incertaine ⇒ AES-GCM-SIV ou XChaCha20-Poly1305.
Voir aussi
| Cryptographie symétrique — Portail | |
|---|---|
| Fondamentaux | Principe · Bloc et flot · Modes opératoires · Padding · IV et nonces |
| Intégrité / auth. | MAC et HMAC · AEAD |
| Gestion des clés | Aléa / CSPRNG · KDF · Échange de clés · Stockage / rotation |
| Algorithmes | AES · ChaCha20/Salsa20 · DES / 3DES · Blowfish et Twofish · RC4 · Camellia, ARIA et SM4 · AES-GCM · ChaCha20-Poly1305 · Hachage |
| Applications | Données au repos · En transit / hybride |
| Sécurité avancée | Attaques · Conformité · Post-quantique |