Les Principes de Shannon. Si ton chiffrement est aussi transparent quâune vitre, inutile dâĂȘtre Alan Turing pour le casser : un simple stagiaire armĂ© dâExcel peut lire ton message.
Câest lĂ quâintervient Claude Shannon (le vrai gourou de la thĂ©orie de lâinformation). En 1949, il a posĂ© deux principes qui tiennent encore aujourdâhui debout comme des piliers de bĂ©ton armĂ© : la diffusion et la confusion.
Sans ces deux ingrĂ©dients, ta crypto, câest une passoire. Avec eux, câest un labyrinthe infernal pour tout attaquant.
đ Diffusion : semer les bits dans le vent
La diffusion, câest lâart de propager lâinfluence dâun seul bit dâentrĂ©e sur un maximum de bits de sortie. En gros : quand tu changes 1 bit dans ton message, il faut que la sortie devienne mĂ©connaissable.
đĄ Exemple jouet (que tu peux refaire chez toi)
On prend un bloc de 4 bits.
Message original : 1010
On définit une permutation simple :
- Le bit 1 â position 3
- Le bit 2 â position 1
- Le bit 3 â position 4
- Le bit 4 â position 2
En clair, on mélange les positions.
Résultat pour 1010 :
- Bit 1 =
1â en 3e position - Bit 2 =
0â en 1re position - Bit 3 =
1â en 4e position - Bit 4 =
0â en 2e position
Soit :0101
đ Maintenant, change juste le premier bit du message (0010 au lieu de 1010).
AprĂšs permutation, tu obtiens : 0001.
⥠RĂ©sultat : un seul bit changĂ© en entrĂ©e â 2 bits changĂ©s en sortie. Tu vois la diffusion en action.
đ Confusion : embrouiller lâennemi
La confusion, câest brouiller la relation entre la clĂ© et le message chiffrĂ©. En clair, il faut Ă©viter que lâattaquant puisse deviner comment la clĂ© agit sur le texte.
Lâarme fatale ? Les S-boxes (substitution boxes).
đ§© Exemple S-box jouet
Voici une S-box 4 â 4 (tu peux tâamuser Ă la coder en tableau).
| Entrée | Sortie |
|---|---|
| 0000 | 1110 |
| 0001 | 0100 |
| 0010 | 1101 |
| 0011 | 0001 |
| 0100 | 0010 |
| 0101 | 1111 |
| 0110 | 1011 |
| 0111 | 1000 |
| 1000 | 0011 |
| 1001 | 1010 |
| 1010 | 0110 |
| 1011 | 1100 |
| 1100 | 0101 |
| 1101 | 1001 |
| 1110 | 0000 |
| 1111 | 0111 |
đ Testons avec notre message : 1010.
Entrée = 1010 (soit 10 en décimal).
Dans la table â sortie = 0110.
đĄ Remarque : impossible de deviner un modĂšle simple. Câest non linĂ©aire, chaotique, parfait pour brouiller la piste.
⥠Cocktail explosif : diffusion + confusion
Tout lâart de Shannon, câest dâavoir compris quâil fallait mĂ©langer les deux.
- La diffusion sâassure que chaque bit se rĂ©pand comme une rumeur dans un open-space.
- La confusion rend la relation clĂ© â message illisible.
𧟠Mini-exemple combiné
Message de départ : 1010
- S-box â
1010â0110 - Permutation (celle de tout Ă lâheure) â
1001
đ Maintenant, change juste un bit Ă lâentrĂ©e (1011 au lieu de 1010).
- Avec S-box â
1100 - Avec permutation â
0011
⥠RĂ©sultat : en changeant 1 bit au dĂ©part, tu te retrouves avec 3 bits diffĂ©rents Ă lâarrivĂ©e. On commence Ă voir poindre le fameux effet avalanche (quâon a dĂ©veloppĂ© dans un autre article).
đ§âđŹ Ă toi de jouer !
Petit exercice maison (pas besoin dâordi, mais tu peux le coder en Python si ça te dĂ©mange) :
- Prends une S-box jouet (celle ci-dessus, ou invente la tienne).
- Applique-la Ă un bloc de 4 bits.
- Fais une permutation derriĂšre.
- Change 1 bit du message initial et compare le résultat.
đ Objectif : vĂ©rifier que ton schĂ©ma maison diffuse et confond correctement.
Si au final, ton rĂ©sultat ne change que sur 1 ou 2 bits, câest que ta crypto est aussi fragile quâun mot de passe â1234â.
đ Conclusion
Claude Shannon lâavait compris dĂšs 1949 : la sĂ©curitĂ© en cryptographie, ce nâest pas de cacher la recette, mais dâavoir une recette tellement bien mĂ©langĂ©e que personne ne peut la deviner.
La diffusion et la confusion sont les deux épices essentielles de ce cocktail mathématique.
⥠Sans elles, ton algorithme, câest du jus de fruit.
Avec elles, câest un Mojito chiffrĂ© que mĂȘme un attaquant Ă jeun ne saura pas reproduire.
đ Prochain Ă©pisode : Le schĂ©ma de Feistel. Comment rendre un chiffrement rĂ©versible mĂȘme si la fonction interne est un bazar total ? Spoiler : ça tient en 3 lignes de maths.
