|
Le système polyalphabétique de Vigenère résista pendant environ 3 siècles, jusqu'à ce que le mathématicien britannique Charles Babbage, connu notamment pour ses machines à différence, élabore la théorie de son décodage, vers 1854. Cette découverte assure la suprématie de l'Angleterre, et est gardée secrète alors qu'à l'automne 1854, l'Angleterre, la France, la Turquie et la Sardaigne déclarent la guerre à la Prusse. Ce n'est qu'en 1863 qu'un ancien major de l'armée prusse, Friedrich Kasiski, publie la méthode dans son livre de 95 pages Die Geheimschriften und die Dechiffrir-Kunst. L'essentiel : Trouver la longueur de la clé Supposons par exemple que nous ayons le message codé :CS AZZMEQM, CO XRWF, CS DZRM GFMJECV. X'IMOQJ JC LB NLFMK CC LBM WCCZBM KFIMSZJSZ CS URQIUOU. CS ZLPIE ECZ RMWWTV, SB KCCJ QMJ FCSOVJ GCI ZI ICCKS, MK QMLL YL'CV ECCJ OKTFWTVM JIZ CO XFWBIWVV, IV ACCI CC C'OCKFM, JINWWB U'OBKSVUFMet que, par une méthode ou une autre, on ait trouvé que la longueur de la clé est 3. Alors, la 1ère lettre, la 4ème, la 7ème, etc... ont toutes été codées par le même procédé, un décalage de César. On sépare le texte codé en 3 parties : la première comporte les lettres 1,4,7,... la seconde les lettres 2,5,8,... la troisième les lettres 3,6,9,.... CZECRCZ...Pour chaque ligne, il suffit de faire une analyse statistique (lettres les plus fréquentes, etc...) d'autant plus facile qu'il s'agit d'un simple décalage de César. On trouve par exemple que pour la première ligne on a décalé avec la lettre R, pour la seconde avec O, pour la troisième avec I. Le texte clair est : LE SILENCE, LA PAIX, LE VIDE PRESQUE. J'AVAIS VU UN FURET OU UNE FOUINE TRAVERSER LE MACADAM. LE RUBAN QUI DEFILE, ET TOUS CES RUBANS SUR LA ROUTE, ET CEUX QU'ON NOUS ACCROCHE SUR LA POITRINE, UN JOUR OU L'AUTRE, SUFFIT D'ATTENDRE.(extrait de 54×13, de Jean-Baptiste Plouy). Le test de Kasiski L'idée de Kasiski (et de Babbage avant lui) est d'analyser les séquences de 3 lettres répétées dans le texte codé, et de se dire que ces répétitions ne sont pas fortuites. Si une séquence de 3 lettres est répétée dans le message codé avec une distance d, on peut se dire qu'il s'agit de la même séquence de 3 lettres du texte initial, codée avec la même séquence de lettres de la clé. Par conséquent, si m est la longueur de la clé, pour que les 2 séquences soient codées avec les mêmes lettres de la clé, il faut que m divise d. On peut donc prendre pour m le pgcd des distances des séquences répétées. Bien sûr, il faut faire preuve de discernement dans l'application de cette méthode, en ne tenant compte que des données significatives. Faisons l'analyse toujours sur le même texte : CS AZZMEQM, CO XRWF, CS DZRM GFMJECV. X'IMOQJ JC LB NLFMK CC LBM WCCZBM KFIMSZJSZ CS URQIUOU. CS ZLPIE ECZ RMWWTV, SB KCCJ QMJ FCSOVJ GCI ZI ICCKS, MK QMLL YL'CV ECCJ OKTFWTVM JIZ CO XFWBIWVV, IV ACCI CC C'OCKFM, JINWWB U'OBKSVUFM
![]() ![]() ![]()
|