AES (Rijndael)
Portail > Algorithmes
L'AES (Advanced Encryption Standard), issu de l'algorithme Rijndael, est le chiffrement par bloc standard depuis 2001 (FIPS 197). C'est l'algorithme symétrique de référence aujourd'hui.
Caractéristiques
| Paramètre | Valeur |
|---|---|
| Type | Chiffrement par bloc |
| Taille de bloc | 128 bits |
| Tailles de clé | 128, 192, 256 bits |
| Tours | 10 (AES-128), 12 (AES-192), 14 (AES-256) |
| Structure | Réseau substitution-permutation (SPN) |
Fonctionnement
AES opère sur un état de 4×4 octets. Chaque tour applique quatre transformations :
- SubBytes : substitution non linéaire octet par octet via une S-box.
- ShiftRows : décalage cyclique des lignes.
- MixColumns : mélange linéaire des colonnes (diffusion). Omis au dernier tour.
- AddRoundKey : XOR avec la sous-clé du tour, issue du key schedule.
La combinaison substitution (confusion) + permutation/mélange (diffusion) sur plusieurs tours rend la sortie statistiquement indépendante de l'entrée.
Accélération matérielle
La plupart des processeurs implémentent AES-NI, un jeu d'instructions dédié rendant AES très rapide et constant en temps, ce qui neutralise les attaques par canal auxiliaire visant les implémentations logicielles à tables. Sur matériel sans AES-NI, ChaCha20 est souvent préférable.
Sécurité
- Aucune attaque pratique ne casse AES : la force brute reste hors de portée (2128 et plus).
- Les implémentations logicielles naïves (à tables) sont sensibles aux attaques par cache/timing → utiliser AES-NI ou une implémentation en temps constant.
- AES-256 offre une marge supplémentaire, notamment face à Grover.
Usage correct
Ne jamais utiliser AES « brut ». Toujours via un mode opératoire, idéalement un mode AEAD comme AES-GCM. Le choix du mode et du nonce est aussi important que l'algorithme.
# Identifiants openssl aes-128-gcm aes-256-gcm # AEAD recommandés aes-256-cbc # bloc + padding, MAC obligatoire à côté aes-256-ctr # flot, sans intégrité
Points clés à retenir
- Bloc 128 bits, clés 128/192/256, structure SPN sur 10/12/14 tours.
- Accéléré et sécurisé via AES-NI (temps constant) ; sinon préférer ChaCha20.
- Robuste cryptanalytiquement ; danger surtout côté implémentation (canaux auxiliaires).
- Toujours dans un mode (AEAD de préférence), jamais brut.
Voir aussi
- AES-GCM
- ChaCha20 et Salsa20
- Modes opératoires des chiffrements par bloc
- Choix d'algorithmes et conformité
| 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 |
notes
Horst Feitel inventeur de Lucifer via IBM dans les années 70, base du futur DES.
DES repose sur :
- le texte claire et codé en numération binaire de bloc de 64bits
- Chaque bloc est découpé de demi-blocs dont les bits connaissent des permutation complexes.
- les demi-blocs sont additionnés et soumis à des transformations
L'opération est recommencé 16 fois
- la fonction de transformation comporte des variations en fonction de la clef et un nombre arbitraire choisi par les utilisateurs du code.
c'est un cryptage symétrique
- DES comporte une clef de cryptage de 56bits ce qui correspond à 10puissance17 valeurs possibles
- Triples DES comporte une clef a 112bits
Description
- AES - Advanced Encryption Standard : La nouvelle norme utilise des clef de 128,192,256 bits. Standard de la NSA
C'est l'algorythme de Rijndael de Joan Daeme, et Vincent Rijmen qui a été retenu en 2000