Une carte postale
Une carte postale voyage de main en main. Le facteur peut la lire. Le voisin aussi, s’il la trouve.
Un message sur Internet passe lui aussi par beaucoup de machines. Tu as vu les routeurs dans la leçon sur les paquets.
Pour que seul ton ami lise le message, on le chiffre. Dans cette leçon, tu chiffres un message toi-même.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Message clair | Le message que tout le monde peut lire. | bonjour |
| Chiffrer | Transformer un message clair en un message illisible. | bonjour devient erqmrxu |
| Déchiffrer | Retrouver le message clair avec la clé. | erqmrxu redevient bonjour |
| Clé | L’information secrète qui sert à chiffrer et à déchiffrer. | Le nombre 3 |
| Chiffre de César | Un très vieux chiffre : on décale chaque lettre de la même quantité dans l’alphabet. | Avec la clé 3, a devient d |
| Décalage | Le nombre de places dont on avance dans l’alphabet. | 3 places |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Pourquoi protéger ?
Ton message traverse ta box, des routeurs, des câbles, des serveurs. N’importe laquelle de ces machines pourrait le lire s’il est clair.
Dans un message, il y a parfois un mot de passe, un numéro de carte, une photo privée.
Chiffrer le message ne l’empêche pas de voyager. Cela l’empêche d’être compris par ceux qui l’interceptent.
À toi : qui peut lire ?
À toi de jouer
À toi : qui peut lire ?
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
Le chiffre de César
Il y a plus de deux mille ans, un général romain décalait les lettres de ses messages. On appelle cela le chiffre de César.
La clé est le nombre de places du décalage. Avec la clé 3, a devient d, b devient e, et ainsi de suite.
Après z, on repart à a : x devient a.
Exemple travaillé : chiffrer « bonjour » avec la clé 3
| Lettre claire | Place (a vaut 0) | Place + 3 | Lettre chiffrée |
|---|---|---|---|
| b | 1 | 4 | e |
| o | 14 | 17 | r |
| n | 13 | 16 | q |
| j | 9 | 12 | m |
| o | 14 | 17 | r |
| u | 20 | 23 | x |
| r | 17 | 20 | u |
| Résultat | - | - | erqmrxu |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
À toi : décaler un texte
ALPHABET = "abcdefghijklmnopqrstuvwxyz"
def decaler(texte, cle):
resultat = ""
for lettre in texte:
place = ALPHABET.find(lettre) # -1 si ce n'est pas une lettre
if place == -1:
resultat = resultat + lettre # espace, tiret, chiffre : inchangé
else:
nouvelle = (place + cle) % 26 # après z, on repart à a
resultat = resultat + ALPHABET[nouvelle]
return resultat
print(decaler("bonjour", 3))
print(decaler("rendez-vous au stade", 3))
print(decaler("xyz", 3))
# Chiffre un message de ton choix avec la clé 5.
Le reste de la division par 26
Astuce
L’alphabet a 26 lettres. Le signe % donne le reste d’une division. Pour x, la place est 23, et 23 + 3 = 26. Le reste de 26 divisé par 26 est 0 : on retombe sur a.
Déchiffrer avec la clé
Pour déchiffrer, on fait le chemin inverse. Avec la clé 3, on recule de 3 places.
Il y a un truc : reculer de 3 revient à avancer de 23, car 3 + 23 = 26, un tour complet.
Celui qui n’a pas la clé voit seulement des lettres sans sens.