Du bloc au message
Le mode ECB et son défaut (le pingouin)
Savoir découper et bourrer un message ne dit pas encore comment enchaîner les blocs. Ce choix s'appelle un mode opératoire, et le plus naïf d'entre eux, le mode ECB, illustre à merveille pourquoi il faut y réfléchir.
Le mode ECB
ECB signifie Electronic Code Book (dictionnaire de codes). Son principe est le plus direct qui soit : chaque bloc clair est chiffré indépendamment des autres, avec la même clé.
bloc clair 1 --[ AES, clé K ]--> bloc chiffré 1
bloc clair 2 --[ AES, clé K ]--> bloc chiffré 2
bloc clair 3 --[ AES, clé K ]--> bloc chiffré 3
Simple, parallélisable, sans état à mémoriser. Et pourtant, c'est un désastre de sécurité.
Le défaut fondamental
Puisque le chiffrement est déterministe et sans mémoire, deux blocs clairs identiques produisent deux blocs chiffrés identiques :
clair : ... [ATTAQUE_A_MIDI] ... [ATTAQUE_A_MIDI] ...
| |
v v
chiffré: ... [ 8F3A...C1 ] ... [ 8F3A...C1 ] ...
\_____________________/
blocs identiques : la répétition FUIT
L'attaquant ne connaît pas la clé, mais il voit que deux zones du message sont identiques. La structure, les répétitions, les motifs du clair transparaissent dans le chiffré.
Le pingouin qui a tout révélé
L'illustration devenue célèbre est celle d'une image du manchot Tux, la mascotte de Linux. On chiffre l'image, pixel par pixel, avec le mode ECB.
Image originale Chiffrée en ECB
+---------------+ +---------------+
| (Tux) | | ~~pingouin~~ |
| _____ | | ::: bruit :::|
| / o o \ | | encore |
| \ ^ / | | reconnaissable
| \___/ | | !!!!! |
+---------------+ +---------------+
Le résultat est stupéfiant : on reconnaît encore le pingouin. Les grandes zones de couleur uniforme (blocs identiques) donnent des blocs chiffrés identiques, si bien que les contours restent parfaitement visibles. Le chiffrement n'a masqué que le bruit, pas la forme.
La leçon
Un bon chiffrement doit produire une sortie qui ressemble à du hasard, sans lien visible avec le clair. ECB échoue à ce test élémentaire : il chiffre les données, mais laisse fuir leur structure.
| Propriété | Ce que fait ECB |
|---|---|
| Blocs identiques | -> chiffrés identiques |
| Motifs du clair | visibles dans le chiffré |
| Déterministe | oui (pas d'aléa) |
| Recommandé | jamais |
En résumé
- ECB chiffre chaque bloc indépendamment avec la même clé.
- Deux blocs clairs identiques donnent deux chiffrés identiques : la structure du message fuit.
- Le pingouin Tux chiffré en ECB reste reconnaissable : preuve visuelle du défaut.
- ECB ne doit jamais être utilisé pour du contenu réel ; il faut un mode qui casse cette régularité.

