Le chiffrement de César est trop facile à décrypter: on y arrivera à tous les coups en 25 essais dans le pire des cas!
Et on peut y arriver encore plus vite, par exemple en repérant la lettre la plus fréquente, qui devrait probablement correspondre à 'E'.

La méthode de Vigenère remédie dans une certaine mesure à ce problème. L'idée est de décaler les lettres d'un nombre différent à chaque fois.
Or, chaque décalage possible (un nombre entre -12 et +13 ou entre 0 et 25) correspond aussi à une lettre! Du coup, on peut "coder" les décalages à utiliser successivement sous forme de lettres successives qui, ensemble, constituent une clef de chiffrement.

Voici les étapes de l'activité:

  1. Choisissez une clef de chiffrement (un mot pas trop long, pour ne pas faire compliqué).
    • Si le mot de passe est "baratin" et le message est "salut", alors il faut décaler de 1 (valeur de "b") la première lettre du message, qui devient donc "t" , puis décaler de 0 (valeur de "a") la deuxième lettre du message, qui reste "a", etc.
    • Une fois arrivé au terme de la clef de chiffrement, on la reprend au début (cyclique, comme la roue de César).
    • Pour déchiffrer on inverse les décalages correspondant aux valeurs des lettres du mot de passe
    • Comme pour le chiffrement de César, si on dépasse 25 ou on se retrouve en-dessous de 0, on cycle sur la roue de César, ce qui correspond à une opération modulo 26 (% 26 en Python).
  2. Chiffrez une phrase contenant votre prénom avec la clef de chiffrement de votre choix.
  3. Ecrivez le message chiffré sur une feuille et, en petit, votre clef de chiffrement au verso de la feuille.
  4. Au prochain cours, je distribuerai vos messages chiffrés à un élève aléatoire et vous devrez chacun retrouver à qui appartient le message pour le lui rendre.

Exemple:

Je choisis la clef "ABC" et je veux chiffrer le message "CARLOS", voici comment je procède:

La clef correspond à un décalage de 0 (A), puis 1 (B) puis 2 (C), donc:

on prend chaque lettre du message et on y applique le décalage:

"C" + 0 -> "C"

"A" + 1 -> "B"

"R" + 2 -> "T"

"L" + 0 -> "L"  (on a atteint la fin de la clef et on reprend au début)

"O" + 1 -> "P"

"S" + 2 -> "U"

Donc , le message chiffré est "CBTLPU".

A vous de jouer, maintenant!

Modifié le: mercredi 4 février 2026, 22:52