Qu'est-ce que Mode d'opération de chiffrement par blocs ?

Manière de combiner les transformations de blocs d'un chiffrement par blocs pour chiffrer des données plus longues qu'un bloc. On trouve par exemple ECB, qui chiffre chaque bloc indépendamment ; CBC, qui combine par XOR chaque bloc avec le bloc de texte chiffré précédent avant de le chiffrer ; CTR, qui combine les données par XOR avec un flux de clé obtenu en chiffrant un compteur ; et GCM, qui ajoute l'authentification à CTR. ECB n'est pas utilisé pour les données ordinaires, car des blocs de texte clair identiques deviennent des blocs de texte chiffré identiques. CBC et CTR exigent une gestion correcte des vecteurs d'initialisation et des nonces.

Nom japonais: 暗号利用モード

« Mode d'opération de chiffrement par blocs » apparaît dans 11 questions d'entraînement réparties sur 1 thèmes, dont Bases et applications de la cryptographie.

Domaine: Bases et applications de la cryptographie

Comparaison des principaux modes

ECB peut être traité en parallèle mais laisse visibles les motifs du texte clair. CBC nécessite un remplissage, et son chiffrement ne peut pas être parallélisé, car chaque bloc attend le résultat du précédent ; son déchiffrement, si. CTR ne nécessite pas de remplissage, le chiffrement comme le déchiffrement peuvent être parallélisés, et le déchiffrement peut commencer à n'importe quelle position. Cependant, CBC et CTR ne font que chiffrer et ne peuvent pas détecter les falsifications.

Modes de chiffrement authentifié

GCM et CCM calculent une étiquette d'authentification pendant le chiffrement et peuvent détecter les falsifications. Les grands protocoles actuels, comme TLS 1.3, IPsec et la sécurité WPA2 et WPA3 des réseaux sans fil, utilisent de tels modes. Combiner CBC et un MAC est rarement pratiqué dans les nouvelles conceptions, car une combinaison mal faite expose à des attaques comme l'attaque par oracle de remplissage.

Chiffrement de disque

Le chiffrement des disques et des SSD utilise couramment le mode XTS, qui emploie une valeur différente pour chaque position de secteur et produit un texte chiffré de même longueur que le texte clair. Comme la taille de l'emplacement de stockage ne peut pas changer, aucune étiquette d'authentification ne peut être ajoutée, et les falsifications ne peuvent pas être détectées.

S'entraîner : questions sur Mode d'opération de chiffrement par blocs

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.

Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?

  1. AGarder l'IV secret comme la clé et continuer à utiliser la même valeur pour tous les messages
  2. BL'IV n'a pas besoin d'être secret, mais on choisit pour chaque message une nouvelle valeur aléatoire qu'un attaquant ne peut pas prédire
  3. CL'IV n'a pas besoin d'être secret et peut être fixé à chaque fois à une même valeur convenue avec l'autre partie (par exemple que des zéros)
Afficher la réponse et l'explication

Réponse : B. L'IV n'a pas besoin d'être secret, mais on choisit pour chaque message une nouvelle valeur aléatoire qu'un attaquant ne peut pas prédire

En mode CBC, chaque bloc de texte clair est combiné par XOR avec le bloc de texte chiffré précédent avant d'être chiffré, et le premier bloc est combiné avec l'IV. L'IV est généralement envoyé au début du texte chiffré et n'a donc pas besoin d'être secret. Mais si le même IV est utilisé à chaque fois, des messages qui commencent de la même façon produisent aussi des textes chiffrés qui commencent de la même façon, ce qui révèle que des parties du contenu sont identiques. De plus, si un attaquant peut prédire le prochain IV, on connaît des attaques qui devinent le contenu en faisant chiffrer des textes clairs choisis (comme l'attaque BEAST contre TLS 1.0).

Questions fréquentes

Quel mode faut-il choisir ?

Sauf raison particulière, on utilise un chiffrement authentifié comme AES-GCM ou ChaCha20-Poly1305, en veillant à ce que les nonces ne se répètent jamais sous une même clé. On n'utilise pas ECB. Recourir au chiffrement authentifié fourni par une bibliothèque expose moins aux erreurs que de combiner soi-même CBC ou CTR avec un MAC.

Pourquoi le mode CTR n'a-t-il pas besoin de remplissage ?

Le mode CTR se contente de combiner par XOR le texte clair avec un flux de clé produit par le chiffrement par blocs ; il suffit donc de tronquer le flux de clé du dernier bloc à la longueur du texte clair. Ce qui passe par le chiffrement par blocs, c'est la valeur du compteur, et non le texte clair lui-même.

« Mode d'opération de chiffrement par blocs » dans les explications

Questions mentionnant « Mode d'opération de chiffrement par blocs » (11)

  1. 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 ?
  2. Quelle est la manière appropriée de gérer le vecteur d'initialisation (IV) lorsqu'on utilise AES en mode CBC ?
  3. 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 ?
  4. Un serveur qui reçoit des données chiffrées en mode CBC renvoyait des erreurs différentes selon que le remplissage était incorrect après déchiffrement ou que le remplissage était correct mais que la vérification du contenu échouait. Quelle affirmation décrit correctement cette situation ?
  5. Quelle affirmation décrit correctement une caractéristique du mode CTR (mode compteur) d'un chiffrement par blocs ?
  6. En mode CTR, deux messages ont été chiffrés par erreur avec la même clé et le même nonce. Pour l'octet situé à une certaine position, le premier texte clair P₁ vaut 01001000 (« H » en ASCII), son texte chiffré C₁ vaut 01110100 et le second texte chiffré C₂ vaut 01010101. Si l'attaquant connaît P₁, quel est le second texte clair P₂ à la même position ?
  7. 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 ?
  8. En cryptographie symétrique, quelle affirmation décrit correctement la différence entre le chiffrement par blocs et le chiffrement par flot ?
  9. Que fournit en une seule opération un chiffrement authentifié (AEAD) comme AES-GCM ?
  10. Quelle affirmation sur le nonce (IV) de 96 bits utilisé dans AES-GCM est correcte ?
  11. Quelle affirmation décrit correctement un changement de TLS 1.3 (RFC 8446) par rapport à TLS 1.2 ?

Termes associés

Chiffrement authentifié (AEAD) AES (Advanced Encryption Standard) Nonce TLS (Transport Layer Security) Attaque des anniversaires Cookie (cookie HTTP) Cryptographie symétrique (cryptographie à clé secrète) Code d'authentification de message Cryptosystème RSA Confidentialité persistante (forward secrecy)

Retour au glossaire