Analyse fréquentielle
Une méthode de cryptanalyse qui compare les fréquences des symboles et groupes de lettres aux profils linguistiques pour interpréter les chiffrements classiques.
Définition
L’analyse fréquentielle étudie la fréquence des lettres, symboles, mots ou groupes tels que les bigrammes et trigrammes dans un texte. Les langues naturelles présentent des régularités statistiques : en français, E, A et S figurent généralement parmi les lettres les plus fréquentes.
De nombreux chiffrements classiques modifient les symboles sans effacer totalement ces régularités. Le cryptanalyste compare la distribution observée dans le texte chiffré à un profil linguistique afin de proposer des lettres et séquences plausibles du texte clair. Cette comparaison fournit des hypothèses, pas un déchiffrement automatique.
Fonctionnement
On normalise d’abord le texte et on compte chaque symbole. On teste ensuite plusieurs correspondances entre les symboles fréquents du texte chiffré et les lettres courantes de la langue supposée. Les bigrammes, trigrammes, répétitions de mots et formes lexicales permettent de confirmer ou d’écarter chaque hypothèse.
Avec le chiffre de César, tout le profil fréquentiel est décalé de la même valeur ; avec une substitution monoalphabétique, il est permuté. Pour un chiffrement polyalphabétique à clé répétée comme Vigenère, on estime d’abord la période—souvent avec l’indice de coïncidence ou l’examen de Kasiski—puis on analyse séparément les colonnes correspondantes.
Exemple pratique
Supposons qu’un symbole domine un texte chiffré monoalphabétique suffisamment long. Il peut représenter E, mais aussi A, S, une espace ou une lettre favorisée par le sujet. Le cryptanalyste essaie plusieurs candidats et recherche des indices concordants : groupes de lettres courants, répétitions de mots plausibles et fragments lisibles. Une correspondance ne devient convaincante que si elle explique de nombreuses observations à la fois.
Limites
Les fréquences sont peu fiables sur les textes très courts. Les noms propres, le vocabulaire spécialisé, les conventions orthographiques et un genre inhabituel peuvent aussi déformer le profil linguistique. La substitution homophonique, les systèmes polyalphabétiques, la compression et le bourrage volontaire atténuent encore les motifs visibles.
Le chiffrement moderne est conçu pour masquer ces régularités. Avec un masque jetable correctement utilisé, une clé aléatoire indépendante rend le texte chiffré statistiquement indépendant du texte clair. Un échantillon particulier ne doit pas forcément présenter une distribution parfaitement uniforme ; l’essentiel est que ses fréquences ne révèlent rien sur le message d’origine.
Elle est surtout utile contre César, le chiffrement affine et les autres substitutions monoalphabétiques. Elle peut aussi aider contre Vigenère à clé répétée si la période est déterminée et si le texte chiffré est suffisamment long.
Il n’existe pas de minimum universel. Les textes longs donnent des distributions de lettres et de n-grammes plus stables, tandis qu’un message court peut autoriser plusieurs correspondances aussi plausibles. Le type de texte et le chiffrement comptent autant que la longueur.
Si la clé est véritablement aléatoire, aussi longue que le message, secrète et utilisée une seule fois, tout texte clair de même longueur est compatible avec le texte chiffré observé. Ses statistiques ne permettent donc pas d’identifier le message envoyé.
Non lorsqu’un algorithme moderne tel qu’AES est correctement implémenté et utilisé. Ces algorithmes diffusent les motifs du texte clair dans tout le texte chiffré ; les attaques visent plutôt les clés, protocoles, implémentations ou erreurs d’utilisation.