Vous êtes sur la page 1sur 5

Mode d'opération (cryptographie) — Wikipédia https://fr.wikipedia.org/wiki/Mode_d'opération_(...

Mode d'opération (cryptographie)


En cryptographie, un mode d'opération est la manière de traiter les blocs de texte clairs et chiffrés au sein d'un algorithme de chiffrement par bloc. Historiquement, les
modes d'opération ont été abondamment étudiés pour leur propriétés de propagation d'erreurs lors de divers scénarios de modification de données durant le chiffrement. Les
développements suivants ont considéré que la protection de l'intégrité était un objectif à atteindre par des moyens complètement différents. Mais aujourd'hui il existe des
modes d'opérations qui associent chiffrement et authentification de manière efficace.

Plusieurs modes existent, certains sont plus vulnérables que d'autres :

Dict ionnaire de codes


Electronic
( Code Book, ECB)
Enchaînem ent des blocsCipher
( Block Chaining, CBC)
Chiffrem ent à rét roact ion
Cipher
( Feedback, CFB)
Chiffrem ent à rét roact ion de sortOutput
ie ( Feedback, OFB)
Chiffrem ent basé sur un com pt eur CounTeR,
( CTR)
Chiffrem ent avec vol de t extCipherText
e ( Stealing, CTS)
Com pt eur avecCBC-MAC, voir l'art icleCCMP
EAX (invent é parDavid Wagneret al.)
CWC (à deux passes)

Sommaire
Dictionnaire de codes : « Electronic codebook » (ECB)
Exem ple sur du t ext e
Exem ple avec une im age
Aut res défaut s de ECB
Enchaînement des blocs : « Cipher Block Chaining » (CBC)
Défaut s de CBC
Chiffrement à rétroaction : « Cipher Feedback » (CFB)
Chiffrement à rétroaction de sortie : « Output Feedback » (OFB)
Chiffrement basé sur un compteur : « CounTeR » (CTR)
Chiffrement avec vol de texte : « CipherText Stealing » (CTS)
Chiffrement par propagation des chiffrés en chaine « Propagating Cipher Block Chaining » (PCBC)
OU exclusif-Chiffrement-OU exclusif : « Xor-Encrypt-Xor » (XEX)
« Tweaked CodeBook mode » (TCB)
Liskov, Rivest, Wagner (LRW)
Xex-Tcb-Cts (XTS)
IV – Vecteur initial
Propagation d'erreur
Notes et références

Dictionnaire de codes : « Electronic codebook » (ECB)


Il s'agit du mode le plus simple. Le message à chiffrer est subdivisé en plusieurs blocs qui sont chiffrés séparément les uns après les autres. Le gros défaut de cette méthode est
que deux blocs avec le même contenu seront chiffrés de la même manière, on peut donc tirer des informations à partir du texte chiffré en cherchant les séquences identiques.
On obtient dès lors un « dictionnaire de codes » avec les correspondances entre le clair et le chiffré d'où le terme codebook.

Ce mode est pour ces raisons fortement déconseillé dans toute application cryptographique. Le seul avantage qu'il peut procurer est un accès rapide à une zone quelconque du
texte chiffré et la possibilité de déchiffrer une partie seulement des données. Mais un mode bien plus sûr basé sur un compteur permet également ces accès aléatoires et les
déchiffrements partiels.

Schém a avec les ét apes d'un m ode de t ype ECB. Le t ext e en clair est découpé en bloc et
chaque bloc est chiffré, indépendam m ent des aut res, avec la clé de chiffrem ent .

Exemple sur du texte

1 sur 5 29/04/2020 03:13


Mode d'opération (cryptographie) — Wikipédia https://fr.wikipedia.org/wiki/Mode_d'opération_(...

On chiffre les deux messages suivants avec un mode ECB et un algorithme de chiffrement par bloc qui travaille avec un bloc de deux caractères à la fois. Ce type de fichier
pourrait correspondre à une liste de salaires.

JOHN__105000
JACK__500000

Le chiffrement sur le premier message donne ceci :

JO|HN|__|10|50|00
Q9|2D|FP|VX|C9|IO

Et sur le deuxième message, on obtient :

JA|CK|__|50|00|00
LD|AS|FP|C9|IO|IO

On constate que des paires de caractères apparaissent dans les deux messages chiffrés, il en va de même dans les messages en clair :

Q9|2D|FP|VX|C9|IO
LD|AS|FP|C9|IO|IO

En partant du principe que John connait son salaire, il pourrait deviner le salaire de Jack car la séquence "C9" correspond à "50" et "IO" à "00". John en déduit que le salaire
de Jack, chiffré en « C9IOIO » correspond à « 500000 ».

Exemple avec une image

La vulnérabilité est encore plus flagrante sur une image. En effet, les images sont constituées de nombreuses redondances qui font que des blocs sont chiffrés de la même
manière en mode ECB. Dans l'exemple ci-dessous, le chiffrement en ECB est réalisé sur des blocs de 4 pixels. On distingue très nettement les formes du Cervin ainsi que les
séparations entre les blocs. Avec un mode plus sûr comme CBC ou CTR, l'image a un contenu aléatoire dont on ne peut tirer aucune information a priori. Cela ne veut
toutefois pas dire que le chiffrement est sûr, des failles importantes peuvent également apparaître dans des schémas qui produisent des sorties aléatoires mais elles ne sont pas
nécessairement liées au mode d'opération.

Im age originale Chiffrem ent en m ode ECB Chiffrem ent avec un m ode sûr
(aut re que ECB)

Autres défauts de ECB

ECB a d'autres effets négatifs sur l'intégrité et la protection des données. Ce mode est sensible à des « attaques par répétition » : elles consistent à réinjecter dans le système
des données identiques à celles interceptées auparavant. Le but est de modifier le comportement du système ou répéter des actions. Par exemple, le jeu vidéo Phantasy Star
Online: Blue Burst utilisait le chiffrement Blowfish en mode ECB. Blowfish est un algorithme robuste mais le mode ECB a été la porte ouverte pour diverses tricheries avec
par exemple des joueurs qui envoyaient des paquets chiffrés « ennemi vaincu » à plusieurs reprises. Comme le chiffrement était identique pour tous les paquets de ce type, le
serveur déclenchait en conséquence l'attribution de points illégitimes.

Un autre mode aurait pu contrer cela en produisant un chiffrement différent pour chaque paquet. Une modification du flot de données avec un meilleur mode entraîne alors un
déchiffrement erroné des données suivantes, une détection de corruption des données ou de fraude est ainsi possible.

Enchaînement des blocs : « Cipher Block Chaining » (CBC)


Dans ce mode, on applique sur chaque bloc un ‘OU exclusif’ avec le chiffrement du bloc précédent avant qu’il soit lui-même chiffré. De plus, afin de rendre chaque message
unique, un vecteur d'initialisation (IV) est utilisé.

Ce mode est un chiffrement par bloc.

Défauts de CBC

2 sur 5 29/04/2020 03:13


Mode d'opération (cryptographie) — Wikipédia https://fr.wikipedia.org/wiki/Mode_d'opération_(...

Un des points négatifs de CBC étant qu'il ne peut pas être parallélisé étant donné que le bloc courant nécessite que le précédent soit chiffré. Il est donc séquentiel.

Chiffrement à rétroaction : « Cipher Feedback » (CFB)


Ce mode et les suivants agissent comme un chiffrement par flux. Ils génèrent un flux de clés qui est ensuite appliqué au document original.

Dans ce mode, le flux de clé est obtenu en chiffrant le précédent bloc chiffré. CFB est un chiffrement par flot. Son grand intérêt est qu'il ne nécessite que la fonction de
chiffrement, ce qui le rend moins cher à câbler ou programmer pour les algorithmes ayant une fonction de chiffrement différente de la fonction de déchiffrement (exemple:
AES).

Chiffrement à rétroaction de sortie : « Output Feedback » (OFB)


Dans ce mode, le flux de clé est obtenu en chiffrant le précédent flux de clé.

C'est un mode de chiffrement de flot qui possède les mêmes avantages que CFB. De plus, il est possible de le pré-calculer en chiffrant successivement le vecteur
d'initialisation. Il n'est donc sûr que si la fonction de chiffrement alliée à la clé forment une bonne suite pseudo-aléatoire.

Ce mode est très fragile vis-à-vis d'une attaque au clair. En effet, à l'unique condition de connaître le vecteur d'initialisation d'un message chiffré et de connaitre le clair d'un
autre message chiffré, l'attaquant peut reconstituer aisément la chaîne ayant chiffré le premier message et donc déchiffrer ce dernier. Cette fragilité se retrouve dans le mode
CFB, à ceci près que seul le premier bloc du message peut être reconstitué de cette manière, l'attaquant a besoin de déchiffrer le message bloc à bloc, en fournissant à chaque
fois l'ensemble des blocs précédents, de manière à récupérer la chaîne ayant chiffré le bloc suivant (attaque au clair choisi).

Chiffrement basé sur un compteur : « CounTeR » (CTR)


Dans ce mode, le flux de clé est obtenu en chiffrant les valeurs successives d’un compteur.

Ce mode combine de nombreux avantages, car il permet le chiffrement par flot et est pré-calculable. De plus, il permet un accès aléatoire aux données, est parallélisable et
n'utilise que la fonction de chiffrement. Le compteur utilisé peut être une suite pseudo-aléatoire qu'il sera facile de retrouver à partir de la graine (vecteur d'initialisation).

Chiffrement avec vol de texte : « CipherText Stealing » (CTS)


Dans ce mode, applicable à un chiffrement par blocs (ECB, CBC, etc.), les deux derniers blocs sont partiellement combinés de façon à obtenir un message de même taille. Ici,
exemple de CTS opérant sur un chiffrement en mode CBC

3 sur 5 29/04/2020 03:13


Mode d'opération (cryptographie) — Wikipédia https://fr.wikipedia.org/wiki/Mode_d'opération_(...

Les deux derniers blocs sont échangés et combinés en partie, ce qui nécessitera de les obtenir tous les deux pour en déchiffrer un. CTS n'est pas un mode de chiffrement par
flot, mais permet d'éviter l'utilisation de bourrage dans les chiffrements par blocs, et donne une taille de message chiffré égale à la taille du message clair. Il est très utilisé
dans les protocoles ou formats ne supportant pas une taille quelconque.
Sa contrepartie, opérant sur un déchiffrement en mode CBC:

Chiffrement par propagation des chiffrés en chaine « Propagating Cipher Block Chaining » (PCBC)

OU exclusif-Chiffrement-OU exclusif : « Xor-Encrypt-Xor » (XEX)

Le chiffrement OUX est un chiffrement bit à bit qui utilise les propriétés mathématiques de la fonction OU exclusif notamment cette égalité ; sera le texte
à chiffrer et sera la clé de chiffrement.

Voici un exemple illustré avec la lettre F chiffrée avec la clé V :

F correspond au code ASCII 70 représenté par 01110000 en binaire.

V correspond au code ASCII 86 représenté par 10000110 en binaire.

4 sur 5 29/04/2020 03:13


Mode d'opération (cryptographie) — Wikipédia https://fr.wikipedia.org/wiki/Mode_d'opération_(...

Texte en clair (F en ASCII) clé (V en ASCII) Texte chiffré

0 1 1

1 0 1

1 0 1

1 0 1

0 0 0

0 1 1

0 0 0

0 1 1

« Tweaked CodeBook mode » (TCB)

Liskov, Rivest, Wagner (LRW)


LRW est utilisé par les logiciels FreeOTFE, Bestcrypt et dm-crypt.

Xex-Tcb-Cts (XTS)
Dans ce mode la clé est séparé en deux clés de taille égale de tel sorte que Clé = clé 1 | clé 2

i est le numéro de secteur

XTS est utilisé par CoreStorage, FreeOTFE, Bestcrypt, dm-crypt et Truecrypt.

IV – Vecteur initial
Tous les modes (à l’exception d’ECB) requièrent un ‘vecteur d’initialisation’. C’est un bloc de données aléatoires pour démarrer le chiffrement du premier bloc et fournir
ainsi une forme de hasard indépendant du document à chiffrer. Il n’a pas besoin d’être lui-même chiffré lors de la transmission, mais il ne doit jamais être réemployé avec la
même clé.

Propagation d'erreur
Aucun des modes ci-dessus ne protège l’intégrité du message. Il est généralement bien compris que lorsque des données sont chiffrées, il est presque toujours essentiel de
fournir un tel mécanisme, car en son absence, les risques sont grands. Pour ce besoin, on peut utiliser un code d’authentification (HMAC) qui protègera le message chiffré et
le vecteur d’initialisation.

Avant que ce sentiment ne soit largement partagé, il était fréquent de discuter des caractéristiques de « propagation d’erreur ». Il pouvait être observé, par exemple, qu’un bloc
d’erreur dans le message chiffré engendrait un bloc d’erreur lors du déchiffrement en mode ECB, alors qu’en mode CBC, la même erreur affectait deux blocs.

Quoi qu’il en soit, quand une réelle protection d’intégrité est mise en œuvre, de telles erreurs provoqueront (avec une grande probabilité) le rejet du message complet. S'il est
souhaitable de tolérer des erreurs aléatoires, le message chiffré devrait se voir appliquer un code de correction d’erreur avant d’être transmis.

À défaut, des modes d’opération sont conçus spécifiquement pour combiner sécurité et authentification, tels que, par exemple XCBC, IACBC, IAPM, OCB, EAX, CWC ou
CCM.

Notes et références

Ce docum ent provient deht« t ps://fr.wikipedia.org/w/index.php?t it le=Mode_d%27opérat ion_(crypt ographie)&oldid=169137372


 ».

La dernière modification de cette page a été faite le 4 avril 2020 à 07:12.

Droit d'aut eur: les t ext es sont disponibles sous


licence Creat ive Com m ons at t ribut ion, part age dans les m êm es condit ; d’aut
ionsres condit ions peuvent s’appliquer.
Voyez les condit ions d’ut ilisat ionpour plus de dét ails, ainsi que les
crédit s graphiques . En cas de réut ilisat ion des t ext es de cet t e page, voyez
com m ent cit er les
aut eurs et m ent ionner la licence.
Wikipedia® est une m arque déposée deWikim la edia Foundat ion, Inc., organisat ion de bienfaisance régie par le paragraphe 501(c)(3) du code fiscal des Ét at s-Unis.

5 sur 5 29/04/2020 03:13

Vous aimerez peut-être aussi