Examen de Kasiski
Trouvez la longueur de clé d'un chiffrement à clé répétée à partir des distances entre séquences répétées.
Essayer :
Longueur de séquence
Facteurs jusqu'à
Trois lettres est le choix classique. Deux trouve bien plus de répétitions mais la plupart sont fortuites, et quatre ou plus ne garde que les indices les plus solides, ce qui exige un texte plus long.
Collez un texte chiffré pour l'examiner. Les échantillons sont du vrai Vigenère avec des clés de cinq et sept lettres.
Comment utiliser Examen de Kasiski
- 1
Collez le texte chiffré
Déposez le texte chiffré dans le cadre. Quelques centaines de lettres suffisent généralement pour que des répétitions apparaissent ; en dessous d'une centaine, il n'y a souvent rien à trouver.
- 2
Choisissez une longueur de séquence
Commencez à trois lettres. Si rien ne se répète, descendez à deux et traitez le résultat comme un indice faible. Si le texte est long et le décompte bruité, montez à quatre.
- 3
Lisez l'appui par facteur
Chaque longueur candidate est notée par rapport à ce que le hasard seul lui donnerait, et ce qui est proposé est le membre le plus fort de chaque famille de diviseurs et de multiples. Le nombre brut de distances et le nombre de séquences distinctes derrière lui sont affichés aussi : un facteur appuyé par plusieurs séquences différentes est plus fiable qu'une seule séquence bavarde qui se répète, et ce jugement vous revient au lieu d'entrer dans la note.
- 4
Portez la longueur à un solveur
Donnez la longueur suggérée au solveur Vigenère, ou recoupez-la avec le tableau par colonnes du calculateur d'indice de coïncidence. Deux méthodes qui concordent valent bien plus que l'une des deux seule.
L'examen de Kasiski, expliqué
L'observation sur laquelle repose la méthode
Un chiffrement Vigenère décale chaque lettre d'une quantité différente, en parcourant un mot-clé en boucle. Cela met en échec le comptage de lettres, puisque la même lettre du texte clair devient des lettres chiffrées différentes selon l'endroit où elle tombe. Mais la clé se répète, et la répétition fuit.
Supposons que le mot THE apparaisse deux fois dans le texte clair et que, par hasard, les deux occurrences tombent en face des mêmes trois lettres de la clé. Toutes deux se chiffrent en les mêmes trois lettres. La distance qui les sépare, comptée en lettres, est alors un nombre entier de cycles de clé : un multiple de la longueur de la clé.
Une telle coïncidence ne prouve pas grand-chose. Des dizaines, factorisées et totalisées, désignent la longueur sans détour.
Ce que cet outil mesure
Toute séquence de la longueur choisie qui apparaît plus d'une fois est collectée avec ses positions. Pour chacune, toutes les distances deux à deux sont calculées, et pas seulement les écarts entre voisines : trois occurrences portent trois indices, et ne garder que les écarts consécutifs en jette un.
Chaque longueur candidate reçoit ensuite deux nombres : combien de distances elle divise, et combien de séquences répétées distinctes ont fourni au moins l'une d'elles. Le classement utilise le premier, corrigé du hasard. Le second figure à côté et reste volontairement hors de la note, car c'est un jugement et non une arithmétique : une séquence bavarde répétée huit fois gonfle le nombre de distances sans ajouter d'indice indépendant, alors que trois séquences différentes d'accord sur un facteur, ce sont trois coïncidences séparées qui pointent dans la même direction. Si la longueur suggérée ne repose que sur une seule séquence, c'est ce nombre-là qui doit vous faire douter.
Le piège des diviseurs
C'est là que ça coince, et c'est de l'arithmétique plus que de la cryptographie. Si 12 divise une distance, alors 2, 3, 4 et 6 la divisent aussi. Tout diviseur de la vraie longueur de clé hérite de la totalité de son score, si bien qu'un tableau trié par appui place les plus petits facteurs en tête, quelle qu'ait été la clé.
La solution est arithmétique elle aussi. Faites payer à chaque facteur l'appui que le hasard lui offre : 2 divise gratuitement la moitié de n'importe quel ensemble de distances, il faut donc diviser son décompte par deux avant de le placer à côté d'un facteur qui n'en divise qu'un sixième. Ainsi corrigée, la vraie longueur de clé passe devant ses propres diviseurs, car un diviseur ne porte que sa part de la preuve. Corrigez en plus le bruit auquel un facteur a droit, et qui croît avec lui, et la vraie longueur passe aussi devant ses multiples. Il reste une seule règle sans rien de réglé à la main : dans toute famille de diviseurs et de multiples, on garde le membre le plus fort. Le décompte complet reste en dessous pour que vous puissiez en juger autrement : si la longueur suggérée ne repose que sur une séquence et qu'un autre facteur en a six, celui-là mérite un coup d'œil.
Quand elle échoue, et quoi faire alors
L'examen de Kasiski a besoin de répétitions, et un message court peut tout simplement ne pas en avoir. Il se dégrade aussi face aux chiffrements qui évitent délibérément la répétition, et il ne dit rien du tout d'un système à clé courante ou à masque jetable, où la clé ne boucle jamais.
L'indice de coïncidence aborde la même question par l'autre bout : il ignore complètement les répétitions et mesure la répartition des lettres de chaque découpage en colonnes candidat. Comme les deux méthodes reposent sur des propriétés différentes du texte, elles échouent rarement ensemble, et une longueur qu'elles appuient toutes deux est en général la bonne.
Questions fréquentes
Qu'est-ce que l'examen de Kasiski ?
Pourquoi suggérer 6 quand 2 et 3 ont le même appui ?
Combien de texte chiffré faut-il ?
Pourquoi les positions ne correspondent-elles pas à ce que je vois ?
Faut-il utiliser des séquences de deux lettres ?
Et si Kasiski et l'indice de coïncidence se contredisent ?
Mon texte chiffré quitte-t-il mon navigateur ?
Outils similaires
Continuez avec ces outils pratiques