Adloun

algorithmique et programmation (première) · Chapitre 4 · Exercice de TD

Le message suivant a été chiffré en remplaçant chaque lettre par une…

Listes, statistiques et simulations · niveau 3 (difficile)

Énoncé

Le message suivant a été chiffré en remplaçant chaque lettre par une autre (substitution) : la lettre la plus fréquente du chiffré est « X ». En admettant que le texte d'origine est en français, quelle lettre « X » représente-t-elle probablement ? Écrire une fonction lettre_frequente(texte) qui renvoie la lettre la plus fréquente d'un texte, et expliquer le principe de l'attaque.

Corrigé


def lettre_frequente(texte):
    F = frequences_lettres(texte)
    return chr(ord("a") + F.index(max(F)))

En français, la lettre dominante est « e » () : « X » chiffre donc probablement « e ». L'analyse de fréquences : la substitution ne change pas les fréquences, seulement les noms des lettres — en appariant le profil du chiffré au profil du français (e, s, a, i, t…), on reconstitue la clé. C'est l'attaque d'Al-Kindi, et la raison pour laquelle la substitution simple n'est plus utilisée.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →