On continue dans la série « s’améliorer en cryptographie » avec un code qui va certainement vous servir dans la résolution d’énigmes dans les chasses aux trésors. Nous avions vu auparavant le code César, l’article est à lire ici, voilà une évolution très intéressante et un peu plus complexe: le Chiffre de Vigenère. J’aime bien ce code car une fois que l’on a compris son fonctionnement, il apparaît comme un peu magique !
Le chiffre de Vigenère : quésaco?
Le chiffre de Vigenère est un système de chiffrement poly-alphabétique contrairement au code César qui lui est mono-alphabétique. C’est-à-dire que l’on va utiliser une série alphabétique pour le code et également une deuxième série alphabétique pour la clef.
Le chiffre de Vigenère a été inventé par un diplomate français du XVIème siècle, qui porte le nom de ?
Je vous laisse deviner…Vigenère oui bravo, et de prénom Blaise.
Blaise de Vigenère était également chimiste et astrologue et de surcroît cryptographe.
On passe à table
Pour crypter une phrase ou un document, nous allons avoir besoin de la table de Vigenère, il s’agit d’un tableau à double entrées.
En haut horizontalement, en abscisses, un alphabet pour le message à coder, que l’on appelle aussi le « message en clair ».
En ordonnées, à la verticale, un alphabet pour la clef de cryptage.
Voici à quoi elle ressemble:
Quelle clef pour le Chiffre de Vigenère
Quelle clef utiliser pour le chiffre de Vigenère ?
Si le code César se limite à 25 clefs, c’est -à-dire 25 décalages possibles, les clefs du chiffre de Vigenère sont illimitées. Oui, illimitées !
La clef peut être un mot ou bien une phrase, et même une œuvre complète ! Ce qui, vous l’aurez compris, fait du Chiffre de Vigenère, un code avec des possibilités infinies ! Alors autant avoir la bonne clef de décryptage sinon il va être quasi impossible de décrypter le message.
La méthode de cryptage
Mise en place
Que les choses sérieuses commencent !
Comment crypter un message avec le Chiffre de Vigenère ?
Je veux crypter le message suivant : J’AIME LE BLOG TRESOR GAME.
Comme clef de cryptage, je vais utiliser : CHASSE AU TRESOR
L’utilisation d’un petit tableau n’est pas obligatoire mais va faciliter la lecture.
Sur la première ligne j’indique le message à crypter et sur la deuxième ligne, je fais correspondre à chaque lettre du message la lettre de la clef, ce qui donne :
J | A | I | M | E | L | E | B | L | O | G | T | R | E | S | O | R | G | A | M | E |
C | H | A | S | S | E | A | U | T | R | E | S | O | R | C | H | A | S | S | E | A |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Vous avez remarqué que j’ai répété la clef à la fin du message. Il faut donc répéter autant de fois la clef qu’il est nécessaire pour atteindre la fin du message.
Cryptage avec la table
Maintenant je vais utiliser la table de Vigenère.
Tout d’abord je consulte la partie « lettres du message » et je recherche la lettre J qui correspond à la première lettre du message à coder.
Après, je sélectionne la lettre de la clef qui correspond, c’est-à-dire le C.
A l’intersection du J et du C, je tombe sur la lettre L qui constitue donc la première lettre du message codé.
Je fais de même pour les autres lettres.
J’AIME LE BLOG TRESOR GAME
devient
L HIEW PE VEFK LFVUVR YSQE
J | A | I | M | E | L | E | B | L | O | G | T | R | E | S | O | R | G | A | M | E |
C | H | A | S | S | E | A | U | T | R | E | S | O | R | C | H | A | S | S | E | A |
L | H | I | E | W | P | E | V | E | F | K | L | F | V | U | V | R | Y | S | Q | E |
Voici donc le résultat du message que l’on a crypté en Vigenère avec la clef « CHASSE AU TRESOR ».
Et inversement… le décryptage
Code à décrypter
Et maintenant voilà une séquence que vous allez devoir décrypter :
LICSMFIDALUFTCMEXXEYSMZQBFITHUDO
Vous avez deux heures et pas une minute de plus !
Alors ? On sèche ?
Honnêtement, il y a de quoi ! Vous vous dites que j’ai laissé appuyer mes doigts au hasard sur le clavier, n’est-ce pas ? Mais non, je vous certifie qu’il y a bien un message là-dedans même si cela semble barbare!
Ne vous découragez pas ! Le problème, à cette étape, c’est que je ne vous ai pas donné la clef !
Vous voyez que sans la clef de décryptage, il est quasiment impossible de trouver la solution à ce crypto.
Vous pourriez peut-être tenter la clef avec les mots que vous pourriez croiser lors de cette lecture, comme « chasse au trésor » ou « trésor game » ou « vigenère » ?
STOP. N’essayez pas.
Faites le lors d’une véritable chasse au trésor mais pas maintenant, vous perdriez beaucoup trop de temps à tester toutes ces clefs. Je voulais juste vous montrer l’étendue des possibilités et l’importance de la clef de décryptage.
Contrairement au code César où l’on peut tester 25 possibilités et donc y arriver, ici, pour le Chiffre de Vigenère c’est l’infini qu’il faudrait tester.
Petite astuce
Une petite astuce pour les chasses aux trésors, lorsque vous êtes persuadés que vous êtes face à un code Vigenère et que vous cherchez la clef de décryptage, tentez de repérer, dans les énigmes, un mot, une expression ou une phrase sortant du contexte. Cela peut être le résultat d’un précédent décryptage ou bien du texte brut mais dont vous ne voyez aucune interaction possible avec le reste. Il y a de fortes chances que cette moindre phrase, légère et subtile, soit en fait d’une importance capitale.
Méthode de décryptage
Pour notre exemple je vais vous donner la clef suivante:
QUI AIME L’ARBRE AIME LES FEUILLES
On va reprendre notre petit tableau, c’est plus facile ainsi avec notre code à déchiffrer:
LICSMFIDALUFTCMEXXEYSMZQBFITHUDO
L | I | C | S | M | F | I | D | A | L | U | F | T | C | M | E |
Q | U | I | A | I | M | E | L | A | R | B | R | E | A | I | M |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
X | X | E | Y | S | M | Z | Q | B | F | I | T | H | U | D | O |
E | L | E | S | F | E | U | I | L | L | E | S | Q | U | I | A |
? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Puis on prend notre table de Vigenère. On procède de la même manière que pour le cryptage. Sauf, évidemment, que l’on commence par la première lettre de la clef. Ici la lettre Q.
Ensuite on glisse notre doigt sur cette ligne jusqu’à tomber sur la lettre du crypto à savoir le L.
Une fois dessus, on monte dans la colonne jusqu’à la lettre du message et on trouve la lettre V.
Nous avons décrypté notre première lettre.
Au final, cela nous donne :
L | I | C | S | M | F | I | D | A | L | U | F | T | C | M | E |
Q | U | I | A | I | M | E | L | A | R | B | R | E | A | I | M |
V | O | U | S | E | T | E | S | A | U | T | O | P | C | E | S |
X | X | E | Y | S | M | Z | Q | B | F | I | T | H | U | D | O |
E | L | E | S | F | E | U | I | L | L | E | S | Q | U | I | A |
T | M | A | G | N | I | F | I | Q | U | E | B | R | A | V | O |
Message crypté: LICSMFIDALUFTCMEXXEYSMZQBFITHUDO
Clef: QUIAIMELARBREAIMELESFEUILLES
Message décrypté: VOUSETESAUTOPCESTMAGNIFIQUEBRAVO
Résultat: VOUS ETES AU TOP C’EST MAGNIFIQUE BRAVO
J’espère que cet article aura contribué à ce que vous le soyez !
En conclusion
Au premier abord, le Chiffre de Vigenère à l’air complexe mais une fois que l’on a compris son principe de fonctionnement, il se révèle d’une grande simplicité et d’une grande efficacité, d’où cette magie. Ce qui fait que l’on a envie de l’utiliser et de tout crypter autour de nous. En tout cas, j’espère que vous penserez à son utilisation possible pendant vos chasses aux trésors !
Je vous souhaite bonne chance d’ailleurs pour vos recherches!
A très vite !
Sébastien
Très bien expliqué ! La preuve, j’ai compris !
J’ai toujours galéré sur les codes quand je faisais des cistes (beaucoup de beaufort, césar et bien sûr vigenère).
Petite anecdote : Une ciste avait été posée en notre honneur (la classe !) mais c’était un code. Cela aurait le comble de ne pas la trouver. Et bien ça m’a pris du temps, je n’ai pas lâché l’affaire et j’ai réussi à la déchiffrer (à ma manière).
Merci pour cet article éclairant
Merci Anne pour ton anecdote, c’est toujours un plaisir! Et bravo pour ta pugnacité!
Super article! C’est un code que j’ai découvert il y a peu de temps mais je le trouve vraiment bon, même pour les enfants, pas trop jeune tout de même. Merci pour ces explications très claires!!
Merci Sophie!
Voici une manière simple de coder un message dont j’imagine les variantes existent à l’infini pourvu qu’on décale d’une ou plusieurs lettres la suite initiale et qu’on indique la logique à suivre à partir de la deuxième ligne.
Tu as tout à fait raison, on peut trouver toute sorte de décalage pour complexifier encore plus!
Je ne connaissais pas du tout ce code. Tu as bien expliqué comment il marchait, j’ai tout compris !
Merci Hélène!