0% ont trouvé ce document utile (0 vote)
6 vues3 pages

Chiffre de César : Guide et Activités

Le document présente le chiffre de César, une méthode de chiffrement par décalage des lettres de l'alphabet. Il explique comment coder et décoder des messages en utilisant des fonctions programmatiques pour automatiser le processus. Enfin, il propose des exercices pour mettre en pratique le chiffrement et le déchiffrement, ainsi qu'une activité d'attaque pour déchiffrer un message sans connaître la clé.

Transféré par

victor.chitambo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues3 pages

Chiffre de César : Guide et Activités

Le document présente le chiffre de César, une méthode de chiffrement par décalage des lettres de l'alphabet. Il explique comment coder et décoder des messages en utilisant des fonctions programmatiques pour automatiser le processus. Enfin, il propose des exercices pour mettre en pratique le chiffrement et le déchiffrement, ainsi qu'une activité d'attaque pour déchiffrer un message sans connaître la clé.

Transféré par

victor.chitambo
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Série de TD 4 :

Cours n°1 : Chiffre de César


Le chiffre de César est une façon simple de coder un message afin de conserver le secret du contenu jusqu’à son destinataire.
Il s’agit tout simplement de décaler chaque lettre du message. Voyons l’exemple d’un décalage de trois lettres : A devient D; B devient
E; etc.
ABCDEFGHIJKLMNOPQRSTUVWXYZ lettres du message en clair
DEFGHIJKLMNOPQRSTUVWXYZABC lettres du message codé
Par exemple le message :
CAPTUREZ IDEFIX
se chiffre en :
FDSWXUHC LGHILA
Une autre façon de présenter le décalage est de placer les alphabets en clair (anneau extérieur en rouge) et codé (anneau
intérieur en vert) sur deux roues concentriques. À gauche un décalage avec k = 3 et à
droite un décalage avec k = 10.

Pour chiffrer des messages tu passes des lettres rouges à l’extérieur aux lettres vertes à l’intérieur. Pour déchiffrer des messages il
suffit de faire l’opération inverse : passer des lettres vertes aux lettres rouges !
Déchiffre à la main les messages suivants :
• EORTXHC DVWHULA chiffré avec un décalage k = 3.
• YE OCD ZKXYBKWSH chiffré avec un décalage k = 10.

1
Série de TD 4 :

Cours n°2 : (Passer d’un caractère à un nombre et inversement).


On préfère travailler avec des nombres qu’avec des lettres !
• Alphabet. Tu vas définir une constante globale Alphabet qui contient toutes les lettres de l’alphabet :
Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
• Numérotation. On numérote chaque lettre : 0 pour A, 1 pour B, 2 pour C, . . . , 25 pour Z.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

• D’un numéro vers une lettre. Pour récupérer la lettre correspondant au rang i, il suffit d’écrire : Alphabet[i]
Par exemple Alphabet[2] vaut 'C'.
• D’une lettre vers son numéro. Pour récupérer le rang d’une lettre, notée car, il suffit d’écrire : [Link](car)
Par exemple [Link]('D') vaut 3.
• César. Le chiffrement de César de décalage k correspond juste à une addition : le numéro j du caractère chiffré est égal au numéro i
du caractère en clair auquel on ajoute le décalage k, le tout modulo 26 : j = (i + k) % 26
Par exemple avec un décalage k = 3 :
— le caractère numéro 0 (A) est chiffré en le caractère numéro 0 + 3 = 3 (D),
— le caractère numéro 1 (B) est chiffré en le caractère numéro 1 + 3 = 4 (E),
—...
— le caractère numéro 25 (Z) est chiffré en le caractère numéro 25 + 3 = 28 qui vaut 2 modulo 26
(c’est donc bien C).

Activité 1 (Chiffre de César).


Objectifs : programmer le chiffrement et le déchiffrement du chiffre de César.
1. Programme une fonction chiffre_cesar_caractere(car,k) qui renvoie le caractère de l’alphabet situé k rang après (modulo 26).
Indications.
• Récupère le rang i dans Alphabet du caractère à chiffrer.
• Ajoute k modulo 26 par la formule : j = (i + k) % 26.
• Renvoie le caractère correspondant au rang j de Alphabet.
Exemple. Avec un décalage de k = 3, A devient D et Z devient C.

2. Programme une fonction chiffre_cesar_phrase(phrase,k) qui renvoie la phrase codée par un décalage de César k.
Indication.
Si un caractère n’est pas une lettre majuscule alors conserve-le tel quel dans la phrase chiffrée. Le test se fait par :
if car not in Alphabet:

2
Série de TD 4 :

Exemple. Avec un décalage de k = 3, CAPTUREZ IDEFIX ! devient FDSWXUHC LGHILA!

3. Programme une fonction dechiffre_cesar_phrase(phrase,k) pour le déchiffrement.


Indication. Deux solutions : soit tu recommences tout, mais au lieu d’ajouter k (modulo 26) tu soustrais k (modulo 26) ou bien tu
chiffres le message avec un décalage de -k (au lieu de +k).
Vérifie que, après avoir chiffré un message, tu le retrouves par déchiffrement !

4. Tu te places dans la peau d’un espion qui a intercepté un message codé par un chiffre de César, mais qui ne connaît pas la
clé k. Programme une fonction attaque_cesar(phrase) qui affiche les déchiffrements, en testant toutes les clés k possibles.
Tu as intercepté le message envoyé par le camp Babaorum à Jules César :
HSFGJSEAP F S HDMK VW HGLAGF
Que va maintenant faire César ?

Vous aimerez peut-être aussi