Informatique Recherche d’une chaîne de caractère Informatique TD n°11 Recherche d’une chaîne de caractère I. Présentation du code de César En cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César (voir les différents noms), est une méthode de chiffrement très simple utilisée par Jules César dans ses correspondances secrètes (ce qui explique le nom « chiffre de César »). Figure 1 – Principe du code de César Le texte chiffré s’obtient en remplaçant chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l’ordre de l’alphabet. Pour les dernières lettres (dans le cas d’un décalage à droite), on reprend au début. Par exemple avec un décalage de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu’à W qui devient Z, puis X devient A etc. Il s’agit d’une permutation circulaire de l’alphabet. La longueur du décalage, 3 dans l’exemple évoqué, constitue la clé du chiffrement qu’il suffit de transmettre au destinataire, s’il sait déjà qu’il s’agit d’un chiffrement de César pour que celui-ci puisse déchiffrer le message. Dans le cas de l’alphabet latin, le chiffre de César n’a que 26 clés possibles (y compris la clé nulle, qui ne modifie pas le texte). Selon Suétone, César utilisait un décalage de trois sur la droite pour certaines de ses correspondances secrètes, notamment militaires : « Il y employait, pour les choses tout à fait secrètes, une espèce de chiffre qui en rendait le sens inintelligible (les lettres étant disposées de manière à ne pouvoir jamais former un mot), et qui consistait, je le dis pour ceux qui voudront les déchiffrer, à changer le rang des lettres dans l’alphabet, en écrivant la quatrième pour la première, c’est-à-dire le d pour le a, et ainsi de suite5. » Suétone, Vie des douze Césars, Livre I, paragraphe 56. Lycée Gustave Eiffel de Dijon 1/2 TSI Année 2015 Informatique II. Recherche d’une chaîne de caractère Décodage Extraire la chaîne de caractère du fichier GuerreDesGaules.txt Q1. Définir une fonction cherche(x,chaine) qui permet de définir le nombre de fois que x apparait dans chaine où x est un caractère et chaine une chaine de caractère Q2. Tester votre fonction pour une chaîne et un caractère simple ex : ’e’ dans ’test’ Q3. En déduire l’abondance de chaque lettre dans le texte et la clef de cryptage. On présentera le résultat sous la forme : ’nombre a : XX’,’nombre b : XX’ . Q4. Définir une fonction transforme qui a une lettre renvoie sa position avec 0 pour l’espace, 1 pour a...., 26 pour z Q5. Transformer le fichier texte en une liste numérique L = []... Q6. Définir une nouvelle chaîne décalée par la clef. Q7. Transformer la liste de valeur numérique en texte décodé. III. Recherche d’un mot Q8. Déterminer le nombre de fois que le mot le apparaît dans le texte. Q9. Déterminer le nombre de fois que le mot sont apparaît dans le texte. Lycée Gustave Eiffel de Dijon 2/2 TSI Année 2015