I. Présentation du code de César

publicité
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
Téléchargement