4.1 Python - Caesar's code
Introduction
Savais-tu qu'il y a un lien entre la cryptographie et Jules ? C'est ce que tu vas découvrir dans cette quête. Mieux, tu vas coder ton propre algorithme de chiffrement. C'est parti !
Objectifs
✅ Comprendre le chiffrement par décalage ✅ Coder un algorithme de chiffrement par décalage
Sommaire
Connaissances théoriques
Le chiffrement par décalage
![]()
Le chiffrement désigne les moyens mis en oeuvre pour rendre un message incompréhensible par toutes les personnes ne disposant pas de la clé de chiffrement.
Le chiffrement de César est un cas particulier de chiffrement. L'article de Wikipédia étant très complet et bien écrit #bonArticle, je vais en reproduire plusieurs extraits ci-dessous.
"Le chiffrement par décalage, aussi connu comme le chiffre de César ou le code de César, 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 »)."
"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)."
"Le chiffrement de César a pu être utilisé comme élément d'une méthode plus complexe, comme le chiffre de Vigenère. Seul, il n'offre aucune sécurité de communication, à cause du très faible nombre de clés, ce qui permet d'essayer systématiquement celles-ci quand la méthode de chiffrement est connue, mais aussi parce que, comme tout encodage par substitution monoalphabétique, il peut être très rapidement « cassé » par analyse de fréquences (certaines lettres apparaissent beaucoup plus souvent que les autres dans une langue naturelle)."

Savoir chiffrer ou déchiffrer un message a eu un impact considérable sur l'Histoire. L'exemple du décryptage de la machine Enigma durant la deuxième guerre mondiale en est un exemple. De plus, un nombre toujours plus important de personnes se font pirater (alors que des mesures simples permettraient de le rendre plus difficile).
Les ressources t'aideront à en apprendre davantage. Passe ensuite au challenge.
Challenge
Dans ce challenge tu vas devoir déchiffrer un message. Dans la phrase à modifier ci-dessous, les lettres normales ont été remplacées par la 7ème lettre suivante (h remplace a, i remplace b etc).
Initialise un notebook sur Google Colab appelé : Avé [Prenom Nom]. Dans le notebook, crée une fonction qui prend en paramètre un message sous forme de liste ou de chaine de caractère, et affiche le message correctement (décrypté). Voici le message à décrypter : mlspjpahapvuz, jlzhy zlyhpa mply kl avp, zp zlbsltlua ps jvuuhpzzhpa wfaovu.
Une fois réalisé, poste le lien vers ton notebook en commentaire pour validation, sans oublier de le rendre accessible en lecture pour toute personne disposant du lien.
Critères de validation
- Le notebook est accessible en lecture pour toutes personnes disposant du lien
- Une fonction a été définie et prend en paramètre une liste ou une chaine de caractère
- La fonction décrypte correctement le message
==$== Une solution ici
Ressources partagées sur cette quête
- pour les 7 premières lettres de l'alphabethttps://www.youtube.com/watch?v=dAo0NC8wR-8