T

Text Machine

Des outils de texte puissants, dans votre navigateur

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 :

Texte chiffré
Réglages

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. 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. 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. 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. 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 ?
C'est une méthode publiée par Friedrich Kasiski en 1863 pour trouver la longueur de clé d'un chiffrement à clé répétée. Quand la même séquence de texte clair tombe en face de la même partie de la clé, elle se chiffre en la même séquence chiffrée. La distance entre deux séquences de ce type est donc un multiple de la longueur de la clé, et factoriser beaucoup de ces distances révèle cette longueur.
Pourquoi suggérer 6 quand 2 et 3 ont le même appui ?
Parce que tout diviseur de la vraie longueur divise exactement les mêmes distances qu'elle. Si la clé fait 6 lettres, 2 et 3 obtiennent au moins autant que 6 dans le décompte brut, et une liste triée uniquement par appui recommanderait 2 pour presque tous les textes. La suggestion garde le plus grand facteur bien étayé et écarte ses diviseurs, ce que fait un cryptanalyste à l'œil.
Combien de texte chiffré faut-il ?
La méthode se nourrit de répétitions, et celles-ci se raréfient à mesure que le texte raccourcit. Quelques centaines de lettres donnent en général plusieurs répétitions de trigrammes. En dessous d'une centaine, vous ne trouverez souvent rien, et ce que vous trouverez a autant de chances d'être fortuit que probant.
Pourquoi les positions ne correspondent-elles pas à ce que je vois ?
Les positions et les distances se comptent uniquement en lettres. Espaces, chiffres, ponctuation et sauts de ligne sont retirés avant toute mesure, car le chiffrement ne les a pas vus non plus. Un outil qui les compte donnera d'autres nombres pour le même texte.
Faut-il utiliser des séquences de deux lettres ?
En dernier recours seulement. Dans quelques centaines de lettres, les paires se répètent sans arrêt par hasard, et le décompte des facteurs devient un bruit qui appuiera volontiers n'importe quelle longueur. Trois lettres est le choix classique parce qu'une répétition fortuite de trigramme est assez rare pour vouloir dire quelque chose.
Et si Kasiski et l'indice de coïncidence se contredisent ?
Fiez-vous à celui qui a le plus d'indices derrière lui, et préférez une longueur que les deux autorisent. Les deux méthodes échouent différemment : Kasiski peine quand le texte est court ou pauvre en répétitions, tandis que l'indice de coïncidence peine quand la clé est longue par rapport au message. En cas de désaccord, un multiple ou un diviseur commun des deux réponses est souvent la vraie longueur.
Mon texte chiffré quitte-t-il mon navigateur ?
Non. Tout l'examen se fait dans la page. Rien n'est envoyé, journalisé ni stocké où que ce soit.

Outils similaires

Continuez avec ces outils pratiques

Calculateur d'indice de coïncidence

Solveur Vigenère

Chiffre de Vigenère

Identificateur de chiffre

Analyse de fréquence

Solveur de Substitution