Vigenère
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 :
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?