VITON13School
Outils gratuits de l’école

Code César : comment fonctionne le chiffre de César, comment le décoder et pourquoi il se casse si vite

Le code César, ou chiffre de César, remplace chaque lettre par celle qui se trouve un nombre fixe de rangs plus loin dans l’alphabet, en repartant de A après Z. Avec un décalage de trois, celui de Jules César selon Suétone, A devient D, B devient E et SALUT devient VDOXW. Pour déchiffrer, on recule chaque lettre du même nombre.

Par , fondateur de VITON13 SCHOOL
Reproduction agrandie du disque de chiffrement confédéré sur un panneau de musée en bois : deux anneaux noirs de capitales blanches, l’alphabet intérieur tourné par rapport à l’extérieur, l’inscription C.S.A. et une plaque explicative en dessous

Le code César est le plus simple des chiffres à clé, ce qui en fait la première leçon classique de cryptographie. Ce guide présente son origine, la façon de chiffrer et de déchiffrer un message à la main avec un exemple corrigé, le ROT13, les deux manières de le casser sans la clé, le chiffre de Vigenère qui lui a succédé et les raisons pour lesquelles rien de tout cela ne protège aujourd’hui. Pour finir, un outil gratuit chiffre, déchiffre et casse le code dans le navigateur.

Idées essentielles

  • Chaque lettre avance d’un nombre fixe de rangs dans l’alphabet ; ce nombre est la clé. Avec un décalage de 3 : A→D, B→E, X→A, Y→B, Z→C.
  • D’après Suétone, Jules César écrivait ses lettres confidentielles avec ce chiffre et un décalage de trois ; le ROT13 reprend la même idée avec un décalage de 13.
  • Il se casse facilement : l’alphabet latin n’offre que 25 décalages, et l’analyse des fréquences, décrite dès le IXe siècle par Al-Kindi, trouve la clé en comptant les lettres.
  • Le chiffre de Vigenère applique un décalage différent à chaque lettre, fixé par un mot-clé, mais il a été cassé au XIXe siècle ; aucun des deux n’est sûr aujourd’hui.

Qu’est-ce que le code César ?

C’est un chiffrement par substitution : chaque lettre du message est remplacée par celle qui se trouve un nombre fixe de rangs plus loin dans l’alphabet. Ce nombre, le décalage, sert de clé. La même substitution vaut pour tout le message, ce qui en fait un chiffrement monoalphabétique. Avec les 26 lettres de l’alphabet, il existe 25 décalages utiles, puisqu’un décalage de 26 remet chaque lettre à sa place.

Il doit son nom à Jules César. L’historien romain Suétone rapporte dans ses Vies des douze Césars, au chapitre consacré à Jules César, que, lorsque César avait quelque chose de confidentiel à dire dans ses lettres, il l’écrivait en chiffre, et que pour le lire il fallait mettre la quatrième lettre de l’alphabet, D, à la place de A, et ainsi de suite : un décalage de trois. Il précise aussi qu’Auguste utilisait un décalage de un. On ignore dans quelle mesure ce chiffre protégeait vraiment les messages à l’époque, car aucune trace ne subsiste de la manière dont on résolvait alors ce genre de chiffres.

En termes de calcul, on numérote les lettres A = 0, B = 1 … Z = 25. Pour chiffrer une lettre x avec un décalage n, on calcule (x + n) mod 26, le reste de la division par 26 ; pour déchiffrer, (x − n) mod 26. Par exemple, X vaut 23, et 23 + 3 = 26, dont le reste par 26 est 0 : X devient A. C’est ce reste qui referme l’alphabet comme un anneau.

[1]

Comment chiffrer et déchiffrer avec le code César ?

Écrivez l’alphabet, réécrivez-le en dessous décalé de la clé, puis remplacez chaque lettre par celle qui se trouve sous elle. Pour déchiffrer, on lit le tableau dans l’autre sens, ce qui revient à reculer de la clé.

Pour un décalage de 3, la ligne 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 se place au-dessus de D E F G H I J K L M N O P Q R S T U V W X Y Z A B C. Chiffrons RENDEZ-VOUS DEMAIN lettre par lettre : R→U, E→H, N→Q, D→G, E→H, Z→C, puis V→Y, O→R, U→X, S→V, puis D→G, E→H, M→P, A→D, I→L, N→Q. On obtient UHQGHC-YRXV GHPDLQ. Les espaces et la ponctuation restent souvent tels quels, ou sont supprimés pour que la longueur des mots ne trahisse rien.

Pour déchiffrer UHQGHC, on recule chaque lettre de trois rangs : U→R, H→E, Q→N, G→D, H→E, C→Z, ce qui redonne RENDEZ. Reculer de 3 revient à avancer de 23. Le décalage de 13, appelé ROT13, est particulier : 13 est la moitié de 26, si bien que la même opération chiffre et déchiffre, et HELLO devient URYYB puis redevient HELLO. Le ROT13 sert à masquer des divulgâchages ou la chute d’une blague, pas à garder un secret.

Pourquoi le code César est-il si facile à casser ?

Parce qu’il a trop peu de clés. Avec seulement 25 décalages possibles, n’importe qui peut tous les essayer, c’est l’attaque par force brute, et garder la seule ligne qui se lit comme une vraie langue. À la main, cela prend quelques minutes ; un ordinateur le fait instantanément. Chiffrer deux fois n’aide pas non plus, car un décalage A suivi d’un décalage B équivaut à un seul décalage de A + B.

La seconde méthode est l’analyse des fréquences. Dans un texte anglais, les lettres E et T sont en général les plus fréquentes, Q et Z les plus rares, et un décalage de César déplace tout ce profil le long de l’alphabet sans en changer la forme. Comptez les lettres du message chiffré : si H est la plus courante, elle représente sans doute E, et la clé vaut 3. Les plus anciennes descriptions conservées de l’analyse des fréquences figurent dans les travaux d’Al-Kindi, dans le monde arabe du IXe siècle. Un texte très court peut rester ambigu, puisque RIVER décalé de 9 donne ARENA, mais une ou deux phrases suffisent d’ordinaire.

Le chiffre de Vigenère a été l’étape suivante : il applique à chaque lettre un décalage de César différent, fixé par un mot-clé répété, où A signifie un décalage de 0 et Z un décalage de 25. Avec la clé CITRON, ATTAQUE devient CBMREHG : A + C = C, T + I = B, T + T = M, et ainsi de suite. Giovan Battista Bellaso l’a décrit le premier en 1553 ; on l’a ensuite attribué à tort à Blaise de Vigenère, et il a gagné le surnom de « chiffre indéchiffrable ». Charles Babbage en a cassé une variante dès 1854 sans rien publier, et Friedrich Kasiski a publié une attaque générale en 1863. Avec un mot-clé d’une seule lettre, on retombe sur un simple code César.

Le code César est-il sûr aujourd’hui, et comment l’essayer ?

Non. Comme tout chiffre à un seul alphabet de substitution, il n’offre pratiquement aucune sécurité, et le chiffre de Vigenère se casse depuis plus de 150 ans. Le code César survit aujourd’hui dans les énigmes, les bagues décodeuses pour enfants et le ROT13 ; les vrais messages et les sites web sont protégés par une cryptographie moderne, bien loin d’un décalage de lettres. Sa valeur est pédagogique : il montre ce qu’est une clé, ce que sont chiffrer et déchiffrer, et pourquoi un petit nombre de clés est fatal.

Pour l’essayer, ouvrez l’outil gratuit de code César de VITON13 SCHOOL. Tapez un message, choisissez un décalage et l’outil le chiffre ; saisissez un texte chiffré avec le même décalage et il le déchiffre. Un décalage de 13 donne le ROT13. Le même outil prend en charge le chiffre de Vigenère : on saisit un mot-clé au lieu d’un décalage, et chaque lettre est décalée à sa manière.

Pour casser un message sans la clé, passez à la vue de cassage : elle affiche d’un coup les 25 décalages du texte, si bien que la ligne lisible saute aux yeux, ainsi que les fréquences des lettres du texte, à comparer avec le profil habituel de l’anglais, E et T en tête. Servez-vous-en pour vérifier l’exercice ci-dessous.

[2][3]

En mots simples

Le code César est un anneau de lettres tourné de quelques crans. Qui connaît le nombre de crans le remet en place ; qui ne le connaît pas peut simplement essayer les 25 positions.

À vous de jouer

Chiffrez votre prénom à la main avec un décalage de 3, puis saisissez le résultat dans l’outil de code César, déchiffrez-le et regardez la liste des 25 décalages.

Résultat attendu

Votre prénom avancé de trois lettres, ANNA devenant DQQD, et, dans la liste des 25 décalages, une seule ligne où se lit votre prénom.

Vérifiez votre réponse: Déchiffrez F’HVW IDFLOH, chiffré avec un décalage de 3.

C’EST FACILE. Chaque lettre recule de trois rangs : F→C, H→E, V→S, W→T, puis I→F, D→A, F→C, L→I, O→L, H→E.

Questions et réponses

Quelle est la clé du code César ?

La clé est le décalage, c’est-à-dire le nombre de rangs dont avance chaque lettre. Avec l’alphabet latin, elle va de 1 à 25 ; celle de César, d’après Suétone, était 3.

Comment décoder un code César sans la clé ?

On essaie les 25 décalages et l’on garde celui qui donne un texte lisible, ou l’on compte les lettres : dans un message anglais chiffré, la plus fréquente correspond souvent à E, ce qui révèle la clé.

Pour chiffrer, avancez chaque lettre de la clé ; pour déchiffrer, reculez d’autant. Avec seulement 25 clés, le code César tombe dès qu’on les essaie toutes ou qu’on compte les lettres. Chiffrez puis cassez un message avec l’outil gratuit de VITON13 SCHOOL pour les chiffres de César et de Vigenère.

Sources et lectures

  1. Wikipedia: Caesar cipher ↗Sources consultées:
  2. Suetonius, The Life of Julius Caesar, 56 (Loeb Classical Library, 1913), on LacusCurtius ↗Sources consultées:
  3. Wikipedia: Vigenère cipher ↗Sources consultées: