Les substitutions polyalphabétiques : Vigenere

Au XVIeme siècle, le français Blaise de Vigenère (1523-1596) exposa dans son « Traité des chiffres, ou secrètes manières d'escrire; Paris 1596 », le maniement du chiffre carré, également nommé « chiffre indéchiffrable » ou « chiffre par excellence ». Ce systeme de double substitution resista jusqu'en 1863 aux decrypteurs. Pour utiliser ce procédé, on inscrit dans un carré dit "carré de Vigenere", 26 fois l'alphabet, décalé chaque fois d'une lettre, comme dans l'exemple ci-dessous :

ABCDEFGHIJKLM NOPQRSTUVWXYZ
BCDEFGHIJKLMN OPQRSTUVWXYZA
CDEFGHIJKLMNO PQRSTUVWXYZAB
DEFGHIJKLMNOP QRSTUVWXYZABC
EFGHIJKLMNOPQ RSTUVWXYZABCD
FGHIJKLMNOPQR STUVWXYZABCDE
GHIJKLMNOPQRS TUVWXYZABCDEF
HIJKLMNOPQRST UVWXYZABCDEFG
IJKLMNOPQRSTU VWXYZABCDEFGH
JKLMNOPQRSTUV WXYZABCDEFGHI
KLMNOPQRSTUVW XYZABCDEFGHIJ
LMNOPQRSTUVWX YZABCDEFGHIJK
MNOPQRSTUVWXY ZABCDEFGHIJKL
NOPQRSTUVWXYZ ABCDEFGHIJKLM
OPQRSTUVWXYZA BCDEFGHIJKLMN
PQRSTUVWXYZAB CDEFGHIJKLMNO
QRSTUVWXYZABC DEFGHIJKLMNOP
RSTUVWXYZABCD EFGHIJKLMNOPQ
STUVWXYZABCDE FGHIJKLMNOPQR
TUVWXYZABCDEF GHIJKLMNOPQRS
UVWXYZABCDEFG HIJKLMNOPQRST
VWXYZABCDEFGH IJKLMNOPQRSTU
WXYZABCDEFGHI JKLMNOPQRSTUV
XYZABCDEFGHIJ KLMNOPQRSTUVW
YZABCDEFGHIJK LMNOPQRSTUVWX
ZABCDEFGHIJKL MNOPQRSTUVWXY

Pour crypter, on convient d'une clef (mot ou phrase). A chaque lettre du texte clair on fait correspondre une lettre de la clef (la clef etant repetée autant de fois que nécessaire). La lettre du texte chiffré sera prise dans la colonne correspondante à la lettre du texte clair, et dans la ligne correspondante à la lettre de la clef.
En posant C le texte codé, T le texte et K la clé, on peut traduire ceci par la formule :

C = T + K [mod 26]

Pour déchiffrer le message, il suffit de faire l'opération inverse : On prend la ligne correspondant à la lettre de la clé, et on la suit jusqu'à rencontrer le caractère codé; la lettre décodée est alors la première ce cette colonne. Ce qui se traduit par la formule :

T = C - K [mod 26]

L'applet ci-contre est une application du chiffre carré :

No Java Support.

Pour compliquer le système, on peut également écrire le message clair à la suite de la clé au lieu de la répèter. On parle alors de systèmes autoclaves (la clé est incluse dans le message lui-même). Ainsi, dans l'exemple ci-contre, la clé est en réalité «POEONCEUPONAMIDNIGHT...»