Exercices td securite cryptographie analyse frequentielle co
Télécharger PDFExercices de Sécurité et Cryptographie
Exercice 1 : Générateur de dictionnaire de mots de passe ou de clé
Écrire en C un programme qui permet de générer de manière exhaustive tous les mots de passe composés par les caractères d'un alphabet donné. Le programme dispose des options suivantes à l'exécution : - -a suivi d'une chaîne de caractères pour introduire l'alphabet - -t suivi d'un nombre pour fixer la taille des mots de passe à générer - -m suivi d'un nombre pour générer tous les mots de passe de taille inférieure ou égale au nombre saisi.
Exemples de génération : -a "ABC" -t 3 produit les mots de passe suivants : AAA, AAC, BBC, CCB, BCA, BBB, ACA, BCB, CBC, CAB, CCC, CAA, CBB, BCC, CBA, AAB, BBA, CCA, ABC, ABA, BAB, CAC, ACB, BAA, ABB, ACC, BAC.
-a "ABC" -m 3 génère tous les mots de passe de taille 1, 2 et 3 : A, AB, AAA, AAC, B, BA, BBC, CCB, C, CA, CAB, CCC, AC, ABC, ABA, BAB, CAC, ACB, BAA, ABB, ACC, BAC.
Exercice 2 : Code de César ou chiffrement par décalage
Écrire en C un programme qui prend en entrée un fichier texte contenant le message à crypter et le paramètre de décalage précédé de l'option -p, puis produit en sortie un fichier contenant le cryptogramme.
La syntaxe du programme est la suivante : ./cesar -f [Fichier_entrée.txt] -p [clé] -o [Fichier_sortie.txt]
Exemple : Si le fichier message.txt contient EL HIBAOUI, et que le décalage est de 3, le résultat sera stocké dans crypto_cesar.txt.
Exercice 3 : Déchiffrement du code de substitution mono-alphabétique
Soit le message chiffré HOCKLEDRXL et le texte suivant DOQUFLTLQMVFRQPITQHADLQ TFDYQNDQDOQGJAOXQMVFRQEFPQADLJFP, chiffré par le code de substitution mono-alphabétique.
À l'aide d'une analyse fréquentielle, déterminer le message clair en détaillant la méthode de déchiffrement.
Exercice 4 : Code de Vigenère
Soit le message chiffré HYIWDCFFDHBYHBY, chiffré par le code de Vigenère avec une clé indéterminée.
Trouver le message clair en justifiant la réponse, sachant que la clé utilisée est CADEAU.
Questions Fréquentes
1. Comment fonctionne une analyse fréquentielle pour déchiffrer un message mono-alphabétique ?
L'analyse fréquentielle consiste à comparer les fréquences des lettres dans le message chiffré avec les fréquences moyennes des lettres dans la langue cible (ici, le français). Par exemple, la lettre la plus fréquente en français est le E, qui apparaît souvent dans les textes. En identifiant la lettre la plus fréquente dans le cryptogramme, on peut supposer qu'elle correspond à E et ainsi reconstruire l'alphabet de substitution.
2. Quelles sont les étapes pour implémenter le code de César en C ?
Les étapes incluent : - La lecture du fichier d'entrée contenant le message clair. - L'application du décalage à chaque caractère du message. - L'écriture du résultat dans un fichier de sortie. Il faut gérer les majuscules, minuscules et les caractères spéciaux si nécessaire.
3. Pourquoi le code de Vigenère est-il plus sécurisé que le code de César ?
Le code de Vigenère utilise une clé plus longue et variable, ce qui rend le déchiffrement par analyse fréquentielle plus complexe. Contrairement au décalage fixe du code de César, chaque lettre du message est décalée d'une valeur différente selon la clé, augmentant ainsi la sécurité.