Comment reconnaître un chiffrement ?

Bien qu'en cryptanalyse théorique on considère que le système de chiffrement est connu, dans la réalité il n'en est pas ainsi. Nous donnons ici quelques pistes pour reconnaître un chiffre. Puis nous verrons une méthode récente utilisant les réseaux de neurones artificiels.

Utilisation des histogrammes

La première choses à faire quand on se trouve devant un message chiffré est de faire des statistiques: nombre de lettres, fréquence de chaque symbole, histogramme. De l'histogramme on peut déjà dire si c'est une substitution simple, une transposition ou... autre chose.

Exemple d'histogramme caractéristique d'une
substitution simple (en français)
Exemple d'histogramme caractéristique d'une
transposition (en français)

Si c'est une substitution simple, on doit retrouver des pics, qui correspondront aux lettres les plus fréquentes de la langue (par exemple, dans l'exemple ci-dessus, le E est très probablement remplacé par le B).
Si c'est une transposition, l'histogramme des lettres sera presque identique à l'histogramme théorique de la langue (les fréquences des lettres seront les mêmes puisqu'elles n'ont pas été remplacées).
Si c'est une substitution simple ou une transposition, on peut aussi deviner la langue d'après les statistiques d'apparition des lettres pour une langue donnée.
Si on retrouve pas de pics, c'est que l'on a affaire à un autre type de chiffrement.

Exemple d'histogramme caractéristique d'un
chiffre de Vigenère (en français)

Les symboles utilisés dans le cryptogramme sont des lettres

Soit n le nombre de lettres du cryptogramme.

Les symboles utilisés dans le cryptogramme sont des chiffres

Il y a plusieurs façons d'interpréter ces chiffres. En voici quelques-unes:


Reconnaissance par apprentissage

Depuis les années 2010, des techniques utilisant des méthodes d'apprentissage comme les réseaux de neurones ont été implémentées. Les résultats sont encourageants. Cela fonctionne assez bien (mais pas toujours) avec les systèmes de chiffrement les plus connus. Voici une liste de sites où vous pourrez tester ces méthodes.


Références

Apprentissage


  Didier Müller, 5.2.23