Casser le chiffre de vigenère
Hello Je suppose que dans ce tutoriel, vous avez déja des bases en cryptanalyse (analyse de fréquence, indice de coincidence, tout ça..) et que vous connaissez le chiffre de vigenère.
Je pense qu'il y a principalement deux techniques pour pouvoir casser un chiffre de vigenère. Nous allons voir ces deux techniques dans le tutoriel qui suit. Commençons par
[SIZE="5"]I. Casser un vigenère par la technique du mot probable[/SIZE]
Prenons par exemple un texte :
MOCRBFRRMPTEHBHYTTFGPDTFRXPAMCZUGKNDSTZITGTVRCEWMUP
Nous savons que le texte clair contient le mot 'EXEMPLE'.
Nous allons alors essayer de dechiffrer le texte avec la clé 'EXEMPLE' a chaque fois, et on tombera finalement par trouver la clé, ou un morceau si la clé est plus grande que 'EXEMPLE'. Après plusieurs essais nous voyons que nous avons :
MOCRBFRRMPTEHBHYTTFGPDTFRXPAMCZUGKNDSTZITGTVRCEWMUP
TFRXPAM, déchiffré en vigenère par la clé EXEMPLE donne : PINLAPI.
On comprend donc que la clé était 'LAPIN' !
Nous allons maintenant voir la deuxième technique pour casser ce chiffre. Celle ci ne nécéssitera réellement de savoir aucun mot du texte clair, ni la longueur de la clé, vraiment rien ! Elle est assez étonnante, et a été trouvé par Charles Babbage quasiment 2 ou 3 siècles après la création du chiffre réputé incassable.
[SIZE="5"]II. Casser un vigenère grâce au trigrammes glissants et l'analyse de fréquence[/SIZE]
Tout d'abord, nous devons trouver la longueur de la clé. Pour cela, il faut que le texte soit suffisamment long. Ainsi, on peut peut-être trouver des morceaux de trigrammes glissants se répétant dans le texte : sûrement des même morceaux de texte chiffrés par le même morceau de clé ! Si on en trouve plusieurs, minimum trois, on peut alors essayer de trouver la longueur de la clé. Il faut alors calculer la distance entre chacun de ces trigrammes, et trouver un diviseur commun entre eux. Ce diviseur commun est probablement la longueur de la clé.
Une fois la longueur de la clé en main, on peut essayer de transposer le ciphertext en coupant le ciphertext tout les n lettres, où n est la longueur de la clé. Exemple avec une clé de 7 caractères :
On sait alors par exemple que la première colonne (HNFFYN...) est obligatoirement chiffrée avec le même 'décalage' (on peut voir ça comme un chiffre de césar).
Idem pour chaque "colonne". À partir de là, on peut s'aider de l'analyse de fréquences pour retrouver les décalages et déchiffrer le texte !
Luxerails
Je pense qu'il y a principalement deux techniques pour pouvoir casser un chiffre de vigenère. Nous allons voir ces deux techniques dans le tutoriel qui suit. Commençons par
[SIZE="5"]I. Casser un vigenère par la technique du mot probable[/SIZE]
Prenons par exemple un texte :
MOCRBFRRMPTEHBHYTTFGPDTFRXPAMCZUGKNDSTZITGTVRCEWMUP
Nous savons que le texte clair contient le mot 'EXEMPLE'.
Nous allons alors essayer de dechiffrer le texte avec la clé 'EXEMPLE' a chaque fois, et on tombera finalement par trouver la clé, ou un morceau si la clé est plus grande que 'EXEMPLE'. Après plusieurs essais nous voyons que nous avons :
MOCRBFRRMPTEHBHYTTFGPDTFRXPAMCZUGKNDSTZITGTVRCEWMUP
TFRXPAM, déchiffré en vigenère par la clé EXEMPLE donne : PINLAPI.
On comprend donc que la clé était 'LAPIN' !
Nous allons maintenant voir la deuxième technique pour casser ce chiffre. Celle ci ne nécéssitera réellement de savoir aucun mot du texte clair, ni la longueur de la clé, vraiment rien ! Elle est assez étonnante, et a été trouvé par Charles Babbage quasiment 2 ou 3 siècles après la création du chiffre réputé incassable.
[SIZE="5"]II. Casser un vigenère grâce au trigrammes glissants et l'analyse de fréquence[/SIZE]
Tout d'abord, nous devons trouver la longueur de la clé. Pour cela, il faut que le texte soit suffisamment long. Ainsi, on peut peut-être trouver des morceaux de trigrammes glissants se répétant dans le texte : sûrement des même morceaux de texte chiffrés par le même morceau de clé ! Si on en trouve plusieurs, minimum trois, on peut alors essayer de trouver la longueur de la clé. Il faut alors calculer la distance entre chacun de ces trigrammes, et trouver un diviseur commun entre eux. Ce diviseur commun est probablement la longueur de la clé.
Une fois la longueur de la clé en main, on peut essayer de transposer le ciphertext en coupant le ciphertext tout les n lettres, où n est la longueur de la clé. Exemple avec une clé de 7 caractères :
Code :
HVHGTUV
NVZHOAW
FRDBROW
FUSORET
YVFGNIL
NWTDEBM
LVBQRKW
FEGEABS
NIZMCRI
SZGMLUR
LLSGRTM
FLQGNSS
YGFABGF
QVBQSZG
JGOEFUV
On sait alors par exemple que la première colonne (HNFFYN...) est obligatoirement chiffrée avec le même 'décalage' (on peut voir ça comme un chiffre de césar).
Idem pour chaque "colonne". À partir de là, on peut s'aider de l'analyse de fréquences pour retrouver les décalages et déchiffrer le texte !
Luxerails