Qu'est-ce que AES (Advanced Encryption Standard) ?

Sigle d'Advanced Encryption Standard. Chiffrement par blocs symétrique normalisé en 2001 par le NIST américain sous le nom de FIPS 197, et le plus utilisé aujourd'hui. La longueur de bloc est de 128 bits et la longueur de clé de 128, 192 ou 256 bits, avec 10, 12 ou 14 tours selon la longueur de clé. Il est fondé sur Rijndael, conçu par des chercheurs belges. Pour chiffrer des données longues, on le combine avec un mode d'opération comme GCM ou CTR. De nombreux CPU disposent d'instructions dédiées, comme AES-NI.

Nom japonais: AES

« AES (Advanced Encryption Standard) » apparaît dans 10 questions d'entraînement réparties sur 4 thèmes, dont Bases et applications de la cryptographie, Sécurité matérielle, Matériel des ordinateurs quantiques.

Domaine: Bases et applications de la cryptographie

La fonction de tour

Chaque tour comprend quatre étapes : une substitution non linéaire octet par octet (SubBytes), un décalage de chaque ligne (ShiftRows), un mélange de chaque colonne (MixColumns) et un XOR avec la clé de tour (AddRoundKey) ; le dernier tour omet MixColumns. Les clés de tour sont dérivées de la clé d'origine par la diversification de clé (key schedule). La répétition des tours propage à toute la sortie une différence d'un bit dans le texte clair ou dans la clé.

Son niveau de sécurité

AES-128 compte 2¹²⁸ clés possibles (environ 3,4 × 10³⁸), si bien que la force brute n'est pas réaliste. Même les meilleures attaques connues ne sont que légèrement plus rapides que la force brute. Si l'on tient compte de l'algorithme de Grover sur un ordinateur quantique, un repère simple divise par deux le nombre de bits de sécurité ; c'est pourquoi AES-256 est parfois choisi lorsqu'une sécurité à long terme est nécessaire.

Pièges d'implémentation

Dans les implémentations logicielles qui consultent des tables, les entrées lues laissent des traces dans le cache, et une attaque par canal auxiliaire exploitant le cache peut alors retrouver la clé. Des instructions dédiées comme AES-NI ou une implémentation en temps constant sans tables évitent ce problème. Et même si AES lui-même est sûr, un mauvais usage, comme le mode ECB ou la réutilisation d'un nonce, détruit la sécurité.

S'entraîner : questions sur AES (Advanced Encryption Standard)

Quelle est la bonne combinaison de longueur de bloc et de longueur de clé pour AES, le chiffrement par blocs largement utilisé aujourd'hui ?

  1. AUne longueur de bloc de 128 bits et une longueur de clé de 128, 192 ou 256 bits
  2. BUne longueur de bloc de 64 bits et une longueur de clé de 56 bits
  3. CLa longueur de bloc comme la longueur de clé peuvent être choisies librement parmi 128, 192 et 256 bits
Afficher la réponse et l'explication

Réponse : A. Une longueur de bloc de 128 bits et une longueur de clé de 128, 192 ou 256 bits

AES est un chiffrement par blocs normalisé en 2001 par le NIST américain sous le nom de FIPS 197 ; sa longueur de bloc est fixée à 128 bits et sa longueur de clé vaut 128, 192 ou 256 bits. Selon la longueur de clé, le nombre de tours (répétitions de la transformation) est de 10, 12 ou 14. Rijndael, dont il est issu, permettait aussi de choisir la longueur de bloc, mais seul le bloc de 128 bits a été normalisé sous le nom d'AES. Un bloc de 64 bits et une clé de 56 bits sont les valeurs de DES, la norme qui précédait AES.

Des données d'image ont été chiffrées avec AES en mode ECB, et le contour de l'image d'origine restait reconnaissable dans l'image chiffrée. Quelle en est la cause ?

  1. ALa clé AES était trop courte, si bien que certains blocs sont restés tels quels sans être chiffrés
  2. BLe mode ECB génère automatiquement une clé différente pour chaque bloc, et le motif de ces clés apparaît dans l'image chiffrée
  3. CEn mode ECB, des blocs de texte clair identiques donnent toujours des blocs de texte chiffré identiques, si bien que les motifs des zones de même couleur subsistent
Afficher la réponse et l'explication

Réponse : C. En mode ECB, des blocs de texte clair identiques donnent toujours des blocs de texte chiffré identiques, si bien que les motifs des zones de même couleur subsistent

Le mode ECB (electronic codebook, dictionnaire de codes) se contente de chiffrer chaque bloc indépendamment avec la même clé. Si le texte clair contient des blocs de même contenu, des blocs identiques apparaissent donc aux mêmes positions dans le texte chiffré. Dans une image comportant de grandes zones de même couleur, comme un arrière-plan, l'information sur l'emplacement de ces couleurs subsiste ; l'exemple d'une image de manchot chiffrée est bien connu. C'est pourquoi on n'utilise pas le mode ECB pour chiffrer des données ordinaires, mais des modes qui produisent un texte chiffré différent à chaque fois, même à partir du même texte clair, comme le mode CBC, le mode CTR et GCM.

Questions fréquentes

AES-256 est-il deux fois plus sûr qu'AES-128 ?

En effort de force brute, l'écart n'est pas de deux fois mais de 2¹²⁸ fois. Toutefois, la force brute contre AES-128 est déjà irréaliste sur les ordinateurs classiques, si bien que l'un comme l'autre suffit pour la plupart des usages. AES-256 est choisi lorsqu'on veut une marge supplémentaire face aux ordinateurs quantiques ou qu'une réglementation l'exige. La quantité de calcul est à peu près proportionnelle au nombre de tours : AES-256 coûte environ 1,4 fois (14 ÷ 10) plus qu'AES-128.

AES suffit-il à lui seul à protéger des données ?

AES est une brique de base qui transforme un unique bloc de 128 bits ; à lui seul, il ne peut ni chiffrer des données longues ni détecter les falsifications. En pratique, on l'utilise dans un mode de chiffrement authentifié comme GCM, avec des nonces gérés correctement et des clés générées et conservées de façon sûre.

« AES (Advanced Encryption Standard) » dans les explications

Questions mentionnant « AES (Advanced Encryption Standard) » (10)

  1. Quelle est la bonne combinaison de longueur de bloc et de longueur de clé pour AES, le chiffrement par blocs largement utilisé aujourd'hui ?
  2. Des données d'image ont été chiffrées avec AES en mode ECB, et le contour de l'image d'origine restait reconnaissable dans l'image chiffrée. Quelle en est la cause ?
  3. Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?
  4. AES (longueur de bloc de 16 octets) est utilisé en mode CBC avec un remplissage PKCS#7. Avec PKCS#7, s'il manque n octets, on ajoute n octets de valeur n, et même lorsque la longueur du texte clair est exactement un multiple de 16, on ajoute 16 octets de valeur 16. Quelle est la longueur du texte chiffré (sans l'IV) lorsqu'on chiffre un texte clair de 96 octets ?
  5. Quelle combinaison indique correctement ce que spécifie la suite cryptographique TLS_AES_128_GCM_SHA256 de TLS 1.3 ?
  6. Outre la vitesse, quel avantage présente l'ajout au CPU d'instructions dédiées au chiffrement AES (AES-NI, etc.) ?
  7. Une fois que de grands ordinateurs quantiques tolérants aux fautes auront été construits, quels chiffrements devraient voir leur sécurité sérieusement compromise par l'algorithme de Shor ?
  8. Quelle affirmation décrit correctement la cryptographie symétrique (à clé secrète) ?
  9. En cryptographie symétrique, quelle affirmation décrit correctement la différence entre le chiffrement par blocs et le chiffrement par flot ?
  10. On pose 1 GiB = 2³⁰ octets et 1 EiB = 2⁶⁰ octets. Un chiffrement par blocs à blocs de 64 bits (comme 3DES) est utilisé en mode CBC pour chiffrer une grande quantité de données sous une seule clé. En considérant les blocs de texte chiffré comme des valeurs aléatoires de 64 bits, quelle est la quantité de données à partir de laquelle, d'après le paradoxe des anniversaires, la probabilité qu'apparaisse une paire de blocs de texte chiffré identiques ne peut plus être négligée ?

Termes associés

Mode d'opération de chiffrement par blocs Chiffrement authentifié (AEAD) Cryptographie symétrique (cryptographie à clé secrète) Nonce TLS (Transport Layer Security) Cryptosystème RSA Échange de clés Diffie-Hellman Fonction de hachage HMAC Algorithme de Shor

Retour au glossaire