Vigenère

De Scoutopedia

Le code Vigenère a été crée par Blaise Vigenère, diplomate français (1523-1596). 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 qu'elle 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é.


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 :

                18/2/14/20/19/18/2/14/20

1/clé S C O U T S C O U /1

message à codé F R A T E R N E L

                5/17/0/19/4/17/13/4/11

message codé = message à codé - 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. Facile , non?