Vous êtes sur la page 1sur 5

Python 20 Cryptage

Cryptage de Vigenère

Blaise de Vigenère (1523-1596), diplomate français, se familiarisa avec les écrits d’Alberti,
Trithème et Porta à Rome, où, âgé de vingt-six ans, il passa deux années en mission diplomatique. Au début, son
intérêt pour la cryptographie était purement pratique et lié à son activité diplomatique. Une dizaine d’années
plus tard, vers 1560, Vigenère considéra qu’il avait mis de côté assez d’argent pour abandonner sa carrière et
se consacrer à l’étude. C’est seulement à ce moment-là qu’il examina en détail les idées de ses prédécesseurs,
tramant grâce à elles un nouveau chiffre, cohérent et puissant. Bien qu’Alberti, Trithème, Bellaso et Porta en
aient fourni les bases, c’est du nom de Vigenère que ce nouveau chiffre fut baptisé, en l’honneur de l’homme qui
lui donna sa forme finale.

Le chiffre de Vigenère est une amélioration décisive du chiffre de César. Sa force réside dans l’utilisation non
pas d’un, mais de 26 alphabets décalés pour chiffrer un message. On peut résumer ces décalages avec un carré
de Vigenère. Ce chiffre utilise une clé qui définit le décalage pour chaque lettre du message (A : décalage de 0
cran, B : 1 cran, C : 2 crans, ..., Z : 25 crans).

Méthode

Pour chiffrer, prendre la première lettre du message et la première lettre de la clé, et ajouter leurs valeurs (les
lettres ont une valeur en fonction de leur rang dans l’alphabet en partant de 0). Le résultat de l’addition modulo
26 (26 étant le nombre de lettres dans l’alphabet) donne le rang de la lettre chiffrée.
On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom-
mence au début de celle ci.

Chiffrement de Vigenère avec un tableau

Pour chiffrer avec la méthode de Vigenère via un tableau à deux entrées (appelé carré de Vigenère), on utilise
la grille dont on va donner une représentation, dans le cas où l’alphabet est composé des caractères suivants :

ABCDEFGHIJKLMNOPQRSTUVWXYZ.
On repère la première lettre du message en clair en haut du tableau et la première lettre de la clé sur la colonne
de gauche. La lettre chiffrée se trouve à l’intersection.

On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on
recommence au début de celle ci.

Cours Info - Jacques Delfaud - Page 1 sur 5


Python 20 Cryptage

Exemple : chiffrons le texte "CHIFFRE DE VIGENERE" avec la clef "BACHELIER" (cette clef est éventuel-
lement répétée plusieurs fois pour être aussi longue que le texte clair).

Clair C H I F F R E D E V I G E N E R E
Clef B A C H E L I E R B A C H E L I E
Décalage 1 0 2 7 4 11 8 4 17 1 0 2 7 4 11 8 4
Chiffré D H K M J C M H V W I I L R P Z I

Comment décoder par Vigenère ? (Principe de déchiffrement)

Pour déchiffrer, prendre la première lettre du message et la première lettre de la clé, et soustraire leurs valeurs
(les lettres ont une valeur en fonction de leur rang dans l’alphabet en partant de 0). Si le résultat est négatif,
ajouter 26 (26 étant le nombre de lettres dans l’alphabet), le résultat donne le rang de la lettre claire.

On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom-
mence au début de celle ci.

Déchiffrement Vigenère avec un tableau

On repère la première lettre de la clé sur la colonne de gauche et on parcourt la ligne jusqu’à trouver la première
lettre du message chiffré. Alors on remonte la colonne pour lire la lettre claire correspondante (tout en haut).
On continue avec la lettre suivante du message et la lettre suivante de la clé, arrivé à la fin de la clé, on recom-
mence au début de celle ci.

Cours Info - Jacques Delfaud - Page 2 sur 5


Python 20 Cryptage

Avantages du chiffre de Vigenère par rapport au code César ?

César est en fait l’équivalent d’un code de Vigenère à une lettre. Le code de Vigenère utilise donc des clés plus
longues et ainsi chaque lettre peut alors être codée de plusieurs façons. L’analyse des fréquences ne peut pas
être utilisée directement.

La grande force du chiffre de Vigenère est que la même lettre sera chiffrée de différentes manières. Par exemple
le E du texte clair ci-dessus a été chiffré successivement M V L P I, ce qui rend inutilisable l’analyse des
fréquences classique. Comparons les fréquences des lettres d’une fable de la Fontaine (Le chat, la belette et le
petit lapin) chiffrée avec une substitution simple et celles de la même fable chiffrée avec le chiffre de Vigenère :

On voit bien que l’histogramme n’a plus rien à voir avec celui d’une substitution simple : il est beaucoup plus
"plat".

Ce chiffre, qui a résisté trois siècles aux cryptanalystes, est pourtant relativement facile à casser, grâce à une
méthode mise au point indépendamment par Babagge et Kasiski. Une autre méthode complètement différente
a été encore mise au point plus tard par le commandant Bazeries.

Comment déchiffrer Vigenère sans connaitre la clé ?

Les techniques les plus courantes utilisent des méthodes statistiques qui permettent de retrouver la longueur de
la clé, puis une analyse des fréquences permet de retrouver la clé.

Test de Kasiski

Le test de Kasiski consiste à repérer des répétitions de lettres dans le texte chiffré.

ABC apparait trois fois dans le message ABCXYZABCKLMNOPQRSABC

Le fait qu’il existe une répétition signifie soit qu’une même suite de lettres du texte clair a été chiffrée avec une
même partie de la clef, soit que différentes suites de lettres du texte en clair se chiffrent de la même façon. Cette
seconde possibilité n’a qu’une faible probabilité d’arriver.

En analysant les écarts entre deux redondances de séquences identiques, on peut déterminer un multiple de la
longueur de la clé. En analysant pour chaque écart, les diviseurs possibles, on peut déduire avec une grande
probabilité la longueur de la clé.

Les positions de ABC sont 0, 6 et 18, les écarts sont donc de 6, 12 et 18, les diviseurs les plus courants de ces
nombres sont 2, 3 et 6, la clé a donc une forte probabilité d’être de longueur 2, 3 ou 6.

Cours Info - Jacques Delfaud - Page 3 sur 5


Python 20 Cryptage

”Test de l’indice de coïncidence”

Le test de l’indice de coïncidence consiste à prendre une lettre sur n dans le message, et de mesurer l’indice de
coïncidence. Plus il est élevé, plus la probabilité que n soit la longueur de la clé est grande.

En effet, prendre une lettre sur n, lorsque n est la longueur de la clé, revient à prendre une série de lettre chiffrée
toujours chiffrée avec le même décalage, l’indice de coïncidence est donc égal à celui du texte clair.

Vigenère sans clef secrète commune

Le chiffre de Vigenère tel que décrit ci-dessus exige, comme presque la totalité des systèmes de chiffrement,
que les deux correspondants connaissent une clef secrète commune. Il est cependant possible, moyennant trois
envois de message au lieu d’un, de se passer de clef commune :

1. A envoie le message après l’avoir crypté avec sa clé A.


2. B renvoie le message en ajoutant un cryptage avec sa clé B.
3. A renvoie le message en enlevant le cryptage de sa clé A.
4. B n’a plus qu’à décrypter le message avec sa clé B.

Quelles sont les variantes du chiffre Vigenère ?

Il existe plusieurs variantes, comme le chiffre de Beaufort, le chiffre de Vigenère-Autoclave, ou le chiffre de


Vernam.

Qu’est ce que le code de Vernam ?

Le code de Vernam est le cas particulier ou la longueur de la clé est la même que celle du texte. Il est impossible
à décrypter si la clé est composée de caractères aléatoires. En effet, si elle est porteuse d’un sens (une phrase
par exemple) alors une attaque par mots probable peut aider au déchiffrement.

Réglette de Saint-Cyr

La réglette de Saint-Cyr est un instrument en forme de règle qui facilite le chiffrement et le déchiffrement
manuels d’un message encodé avec Vigenère. Sa partie fixe est constituée de l’alphabet, et sa partie mobile

Cours Info - Jacques Delfaud - Page 4 sur 5


Python 20 Cryptage

coulissante est un double alphabet.

Pour chiffrer une lettre, on déplace le coulisseau de manière à ce que le A de la partie fixe corresponde à la lettre
de la clé. Il suffit alors de regarder la lettre de la partie mobile directement en dessous de la lettre du message
clair écrite sur la partie fixe.

Cet instrument doit son nom à l’académie militaire française où, entre 1880 et le début du 20ème siècle, il
sert à instruire les aspirants cryptologues. C’est le hollandais Auguste Kerckhoffs, figure incontournable de
la cryptographie, qui baptisa ainsi la réglette.L’instrument, qui ressemble aux anciennes règles à calcul, est
relativement simple ; il s’agit d’une longue bande de papier ou de carton rigide, le "stator", sur laquelle est
imprimé à l’horizontale un alphabet ordonné classique. On y fait coulisser une autre bande sur laquelle sont
imprimés deux alphabets successifs. Traditionnellement, l’alphabet clair est écrit sur la partie fixe.

Cette réglette permet de faire des substitutions monoalphabétiques du type chiffre de César. Il suffit de bouger
le coulisseau et de lire sous la lettre claire la lettre chiffrée (pour chiffrer), ou vice versa (pour déchiffrer).
Par exemple, avec le décalage ci-dessus, "BRAVE" se chiffrera "GWFAJ".Ces alignements alphabétiques ne sont
pas sans évoquer le carré de Vigenère, ou encore le cadran chiffrant d’Alberti. On peut donc aussi, avec plus de
manipulations, utiliser la réglette pour faire des substitutions polyalphabétiques. D’ailleurs, dans la pratique,
la réglette de Saint-Cyr a remplacé le carré de Vigenère, car ce dernier est souvent sujet à erreurs.Par exemple,
si l’on veut chiffrer un message selon le chiffre de Vigenère avec le mot-clef "FEU", on chiffrera les lettres no 1,
4, 7, 10, ... en positionnant le "F" du coulisseau sous le "A" du stator (voir dessin ci-dessus), les lettres no 2, 5,
8, 11, ... avec le réglage ci-dessous :

et les lettres no 3, 6, 9, 12, ... avec le réglage ci-dessous :

Ainsi, le message "SAINT CYR" sera chiffré "XECSX WDV".

Cours Info - Jacques Delfaud - Page 5 sur 5

Vous aimerez peut-être aussi