Vigenère

De Scoutopedia

Le code Vigenère a été crée par Blaise Vigenère, diplomate français (1523-1596). Son application dans une unité scoute est possible si les participants du grand jeu sont très motivés par la cryptologie et disposent de suffisamment de temps.

Sa forme réside dans l'utilisation de 26 alphabets codés distinctement pour crypter un message.

La première étape pour coder un message consiste à construire un carré Vigenère :

Vigenere.gif

Pour coder le message, il est nécessaire de disposer d'une clé que l'on répétera à l'infini au dessus du message, chaque lettre du message étant relié à une lettre de la clé. Les deux lettres donnerons alors, grâce au carré Vigenère, une nouvelle lettre.

Exemple : on va coder le message FRATERNEL SALUT SCOUT par le mot SCOUT. On écrit alors le message avec au dessus la clé que l'on répète :

SCOUTSCOU TSCOU TSCOU

FRATERNEL SALUT SCOUT

Ensuite, on lit dans le carré la nouvelle lettre qui en résulte :

XTONXJPSF LSNIN LUQIN

Pour décoder, il suffit de regarder quelle lettre est obtenu à partir du couple : le premier couple de l'exemple ci-dessus (X,S) donne la lettre F via le carré Vigenère. Il faut regarder la ligne ou colonne S et voir la lettre qui correspond au X placé dans le carré.

deuxième méthode[modifier | modifier le wikicode]

Bien sur , il existe une deuxième méthode, moins connu mais plus facile. On écrit l'alphabet normal et en dessous la valeur des chiffres, en commençant par A =0 , puis B=1 , C=2 , etc. On remplace les deux lettres codantes par leurs valeurs. En reprenant l'exemple cité au dessus, F est remplacé par 5 et S par un 18. Leur somme, qui fait 23, nous donne bien X.

La valeur donné à chaque lettre correspond au décalage qu'elle occasionne. En effet, la lettre A n'occasionne aucun décalage, tandis que la lettre B décale la lettre codé de 1 cran : de M on passe ainsi à N.

Pour pouvoir coder proprement, les chiffres sont bien plus faciles pour faire des additions et soustractions. Pour coder un message tel l'exemple donné initialement, il faut appliquer le négatif de la clé afin de décoder le message avec la clé voulu.

Si l'on veut FRATERNEL avec la clé SCOUT soit :

  • clé chiffré : 18/2/14/20/19/18/2/14/20
  • clé : S C O U T S C O U
  • message à coder : F R A T E R N E L
  • message à coder chiffré : 5/17/0/19/4/17/13/4/11

Message codé = message à coder - clé ; en notant que nous devons avoir tous nos chiffres entre 0 et 25. Cela veut dire que 26 devient 0 ou encore que -1 est remplacé par 25, l'alphabet étant composé de 26 lettres.

Soit la suite : -13/15/-14/-1/-15/-1/11/10/-9

puis : 13/15/12/25/11/25/11/10/17 après avoir ajouté ou retranché 26 aux chiffres afin qu'ils soient tous compris entre 0 et 25.

d'où : N/ P/ M/ Z/ L/ Z/ L/ K/ R

Si vous appliquez la clé SCOUT à NPMZLZLKR , vous obtiendrez donc FRATERNEL.