AES est un chiffrement symétrique par blocs : la même clé chiffre et déchiffre, et le message est découpé en blocs de 128 bits (16 octets).
Standard américain du NIST depuis 2001 (FIPS 197), issu de l'algorithme Rijndael des Belges Joan Daemen et Vincent Rijmen. Il a remplacé le DES (clé de 56 bits, devenue trop faible).
🌐 HTTPS / TLS 📶 Wi-Fi WPA2 / WPA3 🔐 VPN
💽 BitLocker, FileVault, LUKS (disques chiffrés)
📦 Archives 7-Zip / ZIP chiffrées 💬 Messageries
✉️ PGP : AES chiffre le message, RSA protège la clé de session.
| Variante | Clé | Bloc | Tours |
|---|---|---|---|
| AES-128 | 128 bits | 128 bits | 10 |
| AES-192 | 192 bits | 128 bits | 12 |
| AES-256 | 256 bits | 128 bits | 14 |
Un « tour » est une suite de 4 opérations répétée plusieurs fois (onglet suivant). Plus la clé est longue, plus il y a de tours.
Une clé secrète rapide, adaptée aux gros volumes, mais il faut la partager en sécurité : c'est pourquoi on l'associe à RSA (chiffrement hybride).
Les 16 octets forment une matrice 4 × 4 (l'« état »), lue colonne par colonne. Chaque tour applique SubBytes, ShiftRows, MixColumns et AddRoundKey (le dernier tour n'a pas MixColumns). Calcul réel d'AES-128.
AES chiffre un seul bloc de 16 octets. Pour un message plus long, un mode décide comment enchaîner les blocs. Le choix du mode est aussi important que celui de l'algorithme.
Deux blocs identiques donnent deux blocs chiffrés identiques : les motifs du message restent visibles. À proscrire.
Chaque bloc est combiné (XOR) avec le bloc chiffré précédent ; le premier avec un IV aléatoire. Les blocs identiques ne se ressemblent plus.
AES chiffre un compteur et le XOR avec le message : on obtient un chiffrement de flux. GCM y ajoute une vérification d'intégrité (complément).
Chaque pixel est un octet. En ECB, les zones unies donnent des blocs identiques : on voit encore le dessin. En CBC, on ne voit que du bruit.
| Algorithme | Clé | État |
|---|---|---|
| DES | 56 bits | Cassé en moins d'une journée dès 1999 (22 h 15 min) |
| 3DES | 112 bits effectifs | Obsolète, retiré progressivement |
| AES-128 | 128 bits | Sûr |
| AES-256 | 256 bits | Sûr, marge maximale |
On teste en moyenne la moitié des clés avant de trouver la bonne. Chaque bit de clé en plus double le travail. Aucune attaque pratique n'est connue contre AES complet : les failles réelles sont ailleurs (mauvais mot de passe, clé volée, mauvaise utilisation).
| Clé dérivée | |
| IV / compteur | |
| Chiffré (hex) | |
| Chiffré (Base64) |
Essaie de changer une lettre du mot de passe : sans la bonne clé, le résultat est du bruit (ou une erreur de remplissage).
Il laisse apparaître les motifs du message. Préférer GCM (ou CBC / CTR si nécessaire).
Un IV est aléatoire et imprévisible en CBC. En CTR / GCM, ne jamais réutiliser le même nonce avec la même clé : la sécurité s'effondre.
CBC et CTR n'empêchent pas de modifier le message chiffré. AES-GCM ajoute une étiquette d'authentification qui détecte toute modification.
Aléatoire (générateur sécurisé), ou dérivée d'un mot de passe fort par Argon2 / PBKDF2 avec un sel. Jamais en dur dans le code.
Utiliser des bibliothèques éprouvées (Web Crypto, OpenSSL, libsodium). Ne pas écrire son propre AES en production : les attaques visent souvent l'implémentation.
AES chiffre les données, RSA (ou un échange de clés) protège la clé AES : c'est le principe de PGP et de HTTPS.
Choisis une réponse par question. La correction apparaît immédiatement.