Chiffre de Vigenère
Le chiffre de Vigenère est un célèbre chiffre qui utilise plusieurs alphabets de chiffrement, ce qui le rend bien plus résistant à l’analyse fréquentielle classique.
Principe du chiffrement et du déchiffrement
Nous pouvons expliquer la méthode de chiffrement à l’aide du chiffrement de César. La clé du chiffre de Vigenère est un mot quelconque composé de lettres de l’alphabet anglais, c’est-à-dire de a à z (nous écrivons donc les mots sans accents). La clé peut être, par exemple, le mot « bcf ». Pour chiffrer, nous écrivons le texte clair et, juste en dessous, la clé, que nous répétons jusqu’à ce qu’elle ait la même longueur que le texte clair. Pour le texte clair « bonsoir », cela donnerait ceci :
| Texte clair : | b | o | n | s | o | i | r |
| Clé : | b | c | f | b | c | f | b |
Nous chiffrons ensuite toutes les lettres du texte clair avec le chiffrement de César correspondant, c’est-à-dire avec la clé située dans la même colonne. Le chiffrement de César est un chiffrement par décalage : la clé indique de combien de lettres nous devons décaler la lettre du texte clair, en comptant à partir de la lettre « a ». La lettre « b », par exemple, indique un décalage d’une lettre dans l’alphabet « vers la droite ». La lettre « d » indique un décalage de trois lettres vers la droite. Le mot « salut » serait chiffré par le chiffrement de César avec la clé « b » en « tbmvu ».
Alors que dans le chiffrement de César nous chiffrons tout le texte avec une seule lettre, dans le chiffre de Vigenère nous chiffrons en général avec plusieurs lettres. Le chiffrement du texte « bonsoir » avec la clé « bcf » donnerait ainsi :
| Texte clair : | b | o | n | s | o | i | r |
| Clé : | b | c | f | b | c | f | b |
| Texte chiffré : | c | q | s | t | q | n | s |
La première lettre « b » a été chiffrée avec la clé « b », donc avec un décalage d’une lettre, et le résultat est la lettre « c ». La lettre « o » a été chiffrée avec la clé « c », donc avec un décalage de deux lettres, et le résultat est la lettre « q ». Et ainsi de suite.
Nous déchiffrons exactement de la même façon, sauf qu’au lieu de décaler les lettres « vers la droite », nous les décalons « vers la gauche ».
Outil en ligne pour chiffrer et déchiffrer avec le chiffre de Vigenère
Carré de Vigenère
Tout le procédé de chiffrement et de déchiffrement peut aussi s’expliquer avec le carré de Vigenère, un outil que nous pouvons utiliser pendant le chiffrement. Le carré de Vigenère est un tableau de 26 lignes et 26 colonnes. Dans chaque ligne est écrit l’alphabet, décalé à chaque ligne d’une lettre :
Avec un tel carré de Vigenère, le chiffrement se déroulerait ainsi : nous prendrions une lettre du texte clair et nous trouverions la ligne qui porte cette lettre. Ensuite, nous prendrions la lettre de la clé et nous trouverions la colonne. La lettre du texte chiffré serait alors la lettre située à l’intersection de cette ligne et de cette colonne.
Dans l’exemple précédent, nous avons chiffré « bonsoir » avec la clé « bcf ». Nous trouvons donc la ligne qui commence par « b » et la colonne qui commence par « b ». À l’intersection de cette ligne et de cette colonne se trouve la lettre « c », qui est la lettre du texte chiffré.
Pour déchiffrer, nous procéderions à l’envers. Si nous voulions déchiffrer la lettre « c » avec la clé « b », nous trouverions la colonne « b », nous y chercherions la ligne qui contient la lettre « c », et la lettre située au début de cette ligne serait la lettre du texte clair.
La principale force du chiffre de Vigenère
Pourquoi le chiffre de Vigenère était-il si fort à son époque ? Parce qu’il compliquait considérablement l’analyse fréquentielle classique. Par exemple, dans le chiffrement de César, deux lettres identiques du texte clair sont chiffrées en deux lettres identiques du texte chiffré. Ce n’est pas le cas dans le chiffre de Vigenère, du moins pas toujours.
Si nous chiffrons le texte « Salut salut salut » avec la clé « stan », nous obtenons le texte chiffré « ktlhl laymm sndnt ». Nous voyons que, bien que le texte clair contienne trois mots identiques, chaque mot a un aspect complètement différent dans le texte chiffré. Le mot du milieu, « laymm », contient même deux lettres « m », qui proviennent pourtant de deux lettres différentes du texte clair : « ut ».
Choix de la clé
La sécurité du chiffre de Vigenère dépend très fortement du choix de la clé. Alors que dans le chiffrement de César peu importait la lettre choisie, pourvu qu’elle soit différente de « a », dans le chiffre de Vigenère, des clés différentes donnent des niveaux de sécurité très différents.
- Une clé composée d’une seule lettre ramène le chiffre de Vigenère au chiffrement de César.
- Une clé composée de plusieurs lettres identiques, par exemple « mmm », conduit de nouveau au chiffrement de César.
- Un texte chiffré avec une clé courte sera très facile à décrypter.
- Un texte chiffré assez long, obtenu avec une clé pas trop courte (autour de cinquante caractères), sera lui aussi très facile à décrypter. Sur un ordinateur, en quelques secondes.
- Un texte chiffré avec une clé totalement aléatoire et aussi longue que le texte lui-même sera impossible à décrypter.