Chiffre de Vigenère

Un article de Wikipédia, l'encyclopédie libre.

Blaise de Vigenère

Le Chiffre de Vigenère est un système de chiffrement, élaboré par Blaise de Vigenère (1523-1596), diplomate français du XVIe siècle.

C'est un système de substitution poly-alphabétique ou de chiffrement polyalphabétique. Cela signifie qu'il permet de remplacer une lettre par une autre qui n'est pas toujours la même, contrairement au Chiffre de César ou à ROT13 qui se contentaient d'utiliser la même lettre de substitution. C'est donc un système relativement plus « solide » que ces deux systèmes.

Sommaire

[modifier] Principe du chiffrement

Ce chiffrement introduit la notion de clé. Une clé se présente généralement sous la forme d'un mot ou d'une phrase. Pour pouvoir chiffrer notre texte, à chaque caractère nous utilisons une lettre de la clé pour effectuer la substitution. Évidemment, plus la clé sera longue et variée et mieux le texte sera chiffré. Il faut savoir qu'il y a eu une période où des passages entiers d'œuvres littéraires étaient utilisés pour chiffrer les plus grands secrets. Les deux correspondants n'avaient plus qu'à avoir en leurs mains un exemplaire du même livre pour s'assurer de la bonne compréhension des messages.

[modifier] La table de Vigenère

L'outil indispensable du chiffrement de Vigenère est : « La table de Vigenère »

Table de Vigenère.

Lettre en clair
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

C
l
é

U
t
i
l
i
s
é
e

A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

L
e
t
t
r
e

c
h
i
f
f
r
é
e

B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
F F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

[modifier] Chiffrement

Pour chaque lettre en clair, on sélectionne la colonne correspondante et pour une lettre de la clé on sélectionne la ligne adéquate, puis au croisement de la ligne et de la colonne on trouve la lettre chiffrée. La lettre de la clé est à prendre dans l'ordre dans laquelle elle se présente et on répète la clé en boucle autant que nécessaire.

clé : MUSIQUE
texte : j'adore ecouter la radio toute la journee
Texte en clair :   j'adore ecouter la radio toute la journee
Clé répétée    :   M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU
                   ^ ^^^
                   | ||Colonne O, ligne I: on obtient la lettre W.
                   | |Colonne D, ligne S: on obtient la lettre V.
                   | Colonne A, ligne U: on obtient la lettre U.
                   Colonne J, ligne M: on obtient la lettre V.

Le texte chiffré est alors :

V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY.

Si on veut déchiffrer ce texte, on regarde pour chaque lettre de la clé répétée la ligne correspondante, et on y cherche la lettre chiffrée. La première lettre de la colonne que l'on trouve ainsi est la lettre déchiffrée.

Texte chiffré  :   V'UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY
Clé répétée    :   M USIQU EMUSIQU EM USIQU EMUSI QU EMUSIQU
                   ^ ^^^
                   | ||Ligne I, on cherche W: on trouve la colonne O.
                   | |Ligne S, on cherche V: on trouve la colonne D.
                   | Ligne U, on cherche U: on trouve la colonne A.
                   Ligne M, on cherche V: on trouve la colonne J.

[modifier] Principe mathématique

Mathématiquement, on considère que les lettres de l'alphabet sont numérotées de 0 à 25 (A=0, B=1 ...). La transformation lettre par lettre se formalise simplement par :

  • Chiffré = (Texte + Clé) modulo 26

(Texte + Clé) modulo 26 correspond au « reste de la division entière de (Texte + Clé) par 26 », les ordinateurs le font très bien ! En fait il suffit d'effectuer l'addition des deux caractères puis de trouver le numéro correspondant à la lettre chiffrée, notre alphabet étant circulaire (après Z on a A), le modulo nous assure que notre résultat sera compris entre 0 et 25.

Remarquez que si l'on utilise la clé avec un texte rempli uniquement avec des A on retrouve assez facilement la clé

  • « A » + LettreInconnue = LettreInconnue, soit du point de vue mathématique : 0 + x = x.

[modifier] Cryptanalyse

Icône de détail Article détaillé : Cryptanalyse du chiffre de Vigenère.

Des attaques de ce chiffre sont vraiment possibles notamment en connaissant le nombre de symboles comportant la clé, et en effectuant une analyse de fréquences. Pour déterminer la taille de la clé, on peut utiliser le test de Kasiski ou une technique basée sur l'indice de coïncidence.

[modifier] Voir aussi

[modifier] Liens externes


Cryptologie historique
Chiffres: ADFGVX | Alberti | Beale | Carré de Polybe | César | Delastelle | Hill | Marie Stuart | Permutation | Pigpen | Playfair | Polyalphabétique | Scytale |Substitution | Transposition | Trithémius | Vigenère
Cryptanalyse: Analyse fréquentielle | Indice de coïncidence | Test de Kasiski | Cryptanalyse du chiffre de Vigenère
Autre: Histoire de la cryptographie

Wikipedia HTML 2008 in other languages

100 000 +

Česká (Czech)  •  English  •  Deutsch (German)  •  日本語 (Japanese)  •  Français (French)  •  Polski (Polish)  •  Suomi (Finnish)  •  Svenska (Swedish)  •  Nederlands (Dutch)  •  Español (Spanish)  •  Italiano (Italian)  •  Norsk (Norwegian Bokmål)  •  Português (Portuguese)  •  Română (Romanian)  •  Русский (Russian)  •  Türkçe (Turkish)  •  Українська (Ukrainian)  •  中文 (Chinese)

10 000 +

العربية (Arabic)  •  Български (Bulgarian)  •  Bosanski (Bosnian)  •  Català (Catalan)  •  Cymraeg (Welsh)  •  Dansk (Danish)  •  Ελληνικά (Greek)  •  Esperanto  •  Eesti (Estonian)  •  Euskara (Basque)  •  Galego (Galician)  •  עברית (Hebrew)  •  हिन्दी (Hindi)  •  Hrvatski (Croatian)  •  Magyar (Hungarian)  •  Ido  •  Bahasa Indonesia (Indonesian)  •  Íslenska (Icelandic)  •  Basa Jawa (Javanese)  •  한국어 (Korean)  •  Latina (Latin)  •  Lëtzebuergesch (Luxembourgish)  •  Lietuvių (Lithuanian)  •  Latviešu (Latvian)  •  Bahasa Melayu (Malay)  •  Plattdüütsch (Low Saxon)  •  Norsk (Norwegian Nynorsk)  •  فارسی (Persian)  •  Sicilianu (Sicilian)  •  Slovenčina (Slovak)  •  Slovenščina (Slovenian)  •  Српски (Serbian)  •  Basa Sunda (Sundanese)  •  தமிழ் (Tamil)  •  ไทย (Thai)  •  Tiếng Việt (Vietnamese)

1 000 +

Afrikaans  •  Asturianu (Asturian)  •  Беларуская (Belarusian)  •  Kaszëbsczi (Kashubian)  •  Frysk (Western Frisian)  •  Gaeilge (Irish)  •  Interlingua  •  Kurdî (Kurdish)  •  Kernewek (Cornish)  •  Māori  •  Bân-lâm-gú (Southern Min)  •  Occitan  •  संस्कृत (Sanskrit)  •  Scots  •  Tatarça (Tatar)  •  اردو (Urdu) Walon (Walloon)  •  יידיש (Yiddish)  •  古文/文言文 (Classical Chinese)

100 +

Nehiyaw (Cree)  •  словѣньскъ (Old Church Slavonic)  •  gutisk (Gothic)  •  ລາວ (Laos)