Sécurité et usage
Confusion, diffusion et effet d'avalanche
En 1949, bien avant AES, Claude Shannon énonce les deux propriétés que doit posséder tout bon chiffre : la confusion et la diffusion. AES est une application directe de ces principes.
La confusion
La confusion exige que la relation entre la clé et le texte chiffré soit aussi compliquée et opaque que possible. Idéalement, chaque bit du chiffré doit dépendre de plusieurs bits de la clé, d'une manière si enchevêtrée qu'aucune analyse simple ne permette de remonter à la clé.
Dans AES, la confusion vient de l'étape SubBytes : la S-box est non linéaire, ce qui casse toute relation algébrique simple entre l'entrée et la sortie.
La diffusion
La diffusion exige qu'un changement dans le texte clair se répande sur l'ensemble du texte chiffré. Si l'on modifie un seul bit du message, ce changement doit se propager jusqu'à influencer de très nombreux bits du résultat.
Dans AES, la diffusion vient de ShiftRows (qui déplace les octets entre colonnes) et de MixColumns (qui mélange les octets d'une même colonne). Ensemble, en quelques tours, ils font qu'un octet d'entrée finit par toucher tout le bloc.
L'effet d'avalanche
La conséquence mesurable de ces deux principes porte un nom : l'effet d'avalanche. On dit qu'un chiffre le possède quand changer un seul bit de l'entrée change environ la moitié des bits de la sortie.
Illustrons avec deux messages qui ne diffèrent que d'un bit :
Message A : 0110 1001 0011 1100 ...
Message B : 0110 1000 0011 1100 ... (un seul bit changé)
|
v après chiffrement AES
Chiffré A : 1011 0100 1110 0010 ...
Chiffré B : 0001 1101 0100 1011 ... (~50 % des bits diffèrent)
Bien que A et B soient presque identiques, leurs chiffrés n'ont plus aucun lien visible. Environ un bit sur deux a basculé.
Pourquoi c'est essentiel
Sans effet d'avalanche, un attaquant pourrait modifier légèrement le clair, observer une petite variation du chiffré, et remonter progressivement vers la clé ou le message. L'avalanche interdit cette approche : la moindre modification produit un résultat complètement différent, statistiquement indistinguable du hasard.
C'est aussi ce qui rend le chiffré incompressible et sans motif : il ressemble à du bruit, ce qui est précisément le but.
Sans avalanche : petite cause -> petit effet (exploitable)
Avec avalanche : petite cause -> effet total (imprévisible)
En résumé
- Shannon a défini deux principes : la confusion (relation clé-chiffré opaque) et la diffusion (un bit du clair influence tout le chiffré).
- Dans AES, SubBytes assure la confusion, ShiftRows et MixColumns assurent la diffusion.
- L'effet d'avalanche en est la conséquence : changer 1 bit d'entrée change ~50 % des bits de sortie.
- Cet effet interdit les attaques progressives et fait ressembler le chiffré à du bruit.

