Le chiffre de Vigenère est un chiffrement basé sur une substitution polyalphabétique : une lettre de l'alphabet dans le texte en clair peut être chiffré de plusieurs manières. Ce principe remonte à des travaux antécédents à ceux de Blaise de Vigenère au XVIe siècle mais Vigenère fut l'un des premiers à présenter ce type de chiffrement sous la forme d'une table avec la présence d'une clé secrète. Le chiffre de Vigenère restera inviolable pendant plusieurs siècles.
On pense que Charles Babbage effectua la première véritable cryptanalyse du chiffre de Vigenère vers 1854. En parallèle, un officier prussien à le retraite, Friedrich Wilhelm Kasiski parvint au même résultat sans avoir eu vent des travaux de Babbage puisque ce dernier ne les avait pas publiés. Kasiski rédigea Die Geheimschriftren und die Dechiffrir-kunst en 1863 où il présentait le test qui allait porter son nom : le test de Kasiski qui permet d'estimer la taille de la clé.
Il consiste à chercher des répétitions dans le texte chiffré. Considérons par exemple le mot-clé " ABCD " qui sert à chiffrer " MESSAGER TRES MESQUIN MESOPOTAMIEN ".
Clé répétée | A | B | C | D | A | B | C | D | A | B | C | D | A | B | C | D | A | B | C | D | A | B | C | D | A | B | C | D | A | B | C |
Texte en clair | M | E | S | S | A | G | E | R | T | R | E | S | M | E | S | Q | U | I | N | M | E | S | O | P | O | T | A | M | I | E | N |
Texte chiffré | M | F | U | V | A | H | G | U | T | S | G | V | M | F | U | T | U | J | P | P | E | T | Q | S | O | U | C | P | I | F | P |
Dans l'exemple ci-dessus, le trigramme " MES " est chiffré en " MFU " deux fois et " PET " une fois. Babbage et Kasiski comprirent que des répétitions de cette sorte leur offraient la prise dont ils avaient besoin pour attaquer Vigenère.
Ces séquences redondantes peuvent indiquer deux caractéristiques :
Le premier cas étant le plus probable, on calcule le nombre de lettres entre deux séquences identiques. Dans notre cas, il y a 12 lettres entre les deux " MFU ", on en déduit que la longueur de la clé est un diviseur de 12 (sinon la clé et les deux " MES " ne seraient pas alignés). La clé peut donc posséder soit 12, 6, 4, 3 ou 2 lettres (avec une lettre, nous aurions un chiffrement monoalphabétique facilement cassé avec une analyse fréquentielle). Avec un texte plus long, on découvrirait d'autres séquences qui permettraient d'affiner le résultat et réduire la taille de la clé à une ou deux possibilités.
Soit un texte chiffré de plusieurs centaines de caractères. Ce texte paraît a priori aléatoire et pourtant il contient des redondances intéressantes.
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPS
NCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZA
YGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFP
GUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYL
SKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJR
GPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVL
WNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFC
MPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFT
WGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEE
DCLDHWTVBUVGFBIJG
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFNFGHUDWUUMBSVLPS
NCMUEKQCTESWREEKOYSSIWCTUAXYOTAPXPLWPNTCGOJBGFQHTDWXIZA
YGFFNSXCSEYNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUIDUXFP
GUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVRECFBDJQCUSWVBPNLGOYL
SKMTEFVJJTWWMFMWPNMEMTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJR
GPMURSKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHAMEBFELXYVL
WNOJNSIOFRWUCCESWKVIDGMUCGOCRUWGNMAAFFVNSIUDEKQHCEUCPFC
MPVSUDGAVEMNYMAMVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFT
WGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBTWOJFTWGNTEJKNEE
DCLDHWTVBUVGFBIJG
On regarde ensuite la distance entre les répetitions. On cherche les facteurs pour chaque paire :
Longueurs de clef possibles (diviseurs de la distance) | ||||||||
Séquence répétée | Distance entre les répetitions | 2 | 3 | 5 | 19 | |||
WUU | 95 | x | x | |||||
EEK | 200 | x | x | |||||
WXIZAYG | 190 | x | x | x | ||||
NUOCZGM | 80 | x | x | |||||
DOEOY | 45 | x | x | |||||
GMU | 90 | x | x | x |
Les facteurs premiers du nombre de caractères entre deux débuts de séquences figurent dans le tableau (ex. 95 = 5 x 19). Il apparaît dans le tableau que toutes les périodes sont divisibles par 5. Tout se cale parfaitement sur un mot-clef de 5 lettres. Une autre méthode pour trouver la longueur de la clef utilise l'indice de coïncidence.
Mesures de sécurité cryptographique |
Cryptographie : Preuve de sécurité | Sécurité inconditionnelle | IND-CPA | IND-CCA | Kerckhoffs | Malléabilité | Sécurité calculatoire | Hypothèses calculatoires | Confusion et diffusion |
Cryptanalyse de base : Biais statistique | Corrélation | Dictionnaire | Force brute | Fréquence | Indice de coïncidence | Interpolation | Mot probable |
Cryptanalyse par canal auxiliaire : Canaux auxiliaires : Acoustique | Consommation | Émanations EM | Faute | Sondage | Temporel |
Cryptanalyse ciblée : Clé apparentée | Clé faible | EFF | Enigma | Glissement | Intégrale | Linéaire / Différentielle / Différentielle impossible / Différentielle-linéaire / Boomerang | Modes opératoires | Modulo n | Quadratique | Rectangle | Rencontre au milieu | Vigenère | χ² |
Systèmes asymétriques : Clé apparentée | Clé faible | Homme au milieu | Sécurité sémantique |
Fonctions de hachage : Effet avalanche | Linéaire / Différentielle | Paradoxe des anniversaires | Pseudo-collision |
Autres : Anonymat | Confidentialité | Intégrité | Sécurité par l'obscurité |
Cryptologie historique |
Chiffres: ADFGVX | Alberti | Beale | Carré de Polybe | César | Delastelle | Hill | Marie Stuart | Permutation | Pigpen | Playfair | Polyalphabétique | Scytale |Substitution | Transposition | Trithémius | Vigenère |
Cryptanalyse: Analyse fréquentielle | Indice de coïncidence | Test de Kasiski | Cryptanalyse du chiffre de Vigenère |
Autre: Histoire de la cryptographie |