Vigenère sans clef secrète commune

Alice veut envoyer à Bob le message "demain soir devant la mairie".

Alice chiffre son message avec la clef "mariage" (qu'elle seule connaît). Elle obtient le texte "PEDII TWAII LEBEZ TCIMG MDIV" qu'elle envoie à Bob.

Bob surchiffre alors ce message avec sa clef à lui, disons "famille" et obtient "UEPQT EAFIU TPMIE TOQXR QIIH". Il renvoie ce message à Alice.

Alice "déchiffre" alors ce message avec sa clef privée ("mariage") et obtient "IEYIT YWTID LPGES TXIXL MWIQ". Elle envoie ce message à Bob.

Bob déchiffre ce message avec sa clef privée ("famille") et lit enfin "DEMAINSOIRDEVANTLAMAIRIE".

Les deux correspondants ont ainsi pu s'échanger des messages chiffrés sans échange de clef préalable. Plus fort encore, ils n'ont pas besoin de connaître la clef de l'autre. L'inconvénient est qu'il faut trois échanges de messages au lieu d'un seul.

Il y a cependant une faille dans ce système...

Si Eve intercepte les trois messages échangés par Alice et Bob, elle peut utiliser le message no 2 surcodé : "UEPQT EAFIU TPMIE TOQXR QIIH"
et le déchiffrer avec, comme clef, le message no1 : "PEDII TWAII LEBEZ TCIMG MDIV"
et Eve obtient la clé de Bob : "FAMILLEFAMILLEFAMILLEFAM"
Cette clé lui permet de déchiffrer le message no3 : "IEYIT YWTID LPGES TXIXL MWIQ"
pour obtenir finalement le message en clair : "DEMAINSOIRDEVANTLAMAIRIE".

Eve peut aussi obtenir la clef d'Alice entre les messages 2 et 3 et alors décrypter le message no 1.


Didier Müller, 4.3.2008