AES (Rijndael)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

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 :

  1. SubBytes : substitution non linéaire octet par octet via une S-box.
  2. ShiftRows : décalage cyclique des lignes.
  3. MixColumns : mélange linéaire des colonnes (diffusion). Omis au dernier tour.
  4. 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

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