Outil pour décoder/encoder avec le code César (ou chiffre de César), un chiffrement par décalage parmi les plus faciles et les plus connus qui utilise la substitution d'une lettre par une autre plus loin dans l'alphabet.
Code César - dCode
Catégorie(s) : Chiffrement par Substitution
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le code César (ou chiffre de César) est un chiffrement par substitution monoalphabétique, où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l'alphabet (donc décalée mais toujours identique pour un même message).
La distance de décalage est choisie d'après un nombre appelé le décalage, qui peut être vers la droite (A vers B) ou vers la gauche (B vers A).
Pour tout décalage vers la droite (de +N), il existe un décalage équivalent vers la gauche (de 26-N) car l'alphabet tourne sur lui-même, le code César est parfois appelé chiffrement par rotation.
Le code César est un chiffrement basé sur un décalage de l'alphabet. Le décalage le plus souvent utilisé est de 3 lettres tel que A devient D.
Alphabet clair | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
Alphabet de César (🠜3) | DEFGHIJKLMNOPQRSTUVWXYZABC |
Exemple : Coder DCODEX avec un décalage de 3.
Pour coder D, prendre l'alphabet et regarder trois lettres plus loin : il y a G. Donc D se code G.
Pour coder X, boucler l'alphabet : après X, il y a Y, après Y, il y a Z et après Z, il y a A. Donc X se code A.
DCODEX est chiffré GFRGHA
Une autre manière de coder, plus mathématique, est de coder toute lettre x par (x+3) mod 26.
Noter A=0, B=1, …, Z=25, ajouter une constante (le décalage) et conserver le résultat modulo 26 (longueur de l'alphabet) pour récupérer le texte codé.
Exemple : Pour coder D (qui vaut 3), ajouter le décalage 3 : 3+3=6 et retrouver la lettre correspondante à 6 soit G, donc D est codée G.
Pour coder X=23, 23+3=26 et 26 modulo 26 = 0, comme 0=A, X est codé A, etc.
DCODEX est chiffré GFRGHA
Lors du déchiffrement de César une lettre est remplacée par une autre précédente par décalage de l'alphabet.
Exemple : Déchiffrer GFRGHA avec un décalage de 3.
Pour décoder G, prendre l'alphabet et regarder trois lettres avant : il y a D.
Pour décoder A, boucler l'alphabet : avant A : Z, avant Z : Y et avant Y, il y a X.
GFRGHA se déchiffre DCODEX.
Une autre manière de décoder, plus mathématique : noter A=0, B=1, …, Z=25, soustraire une constante (le décalage) et conserver le résultat modulo 26 (longueur de l'alphabet) pour obtenir le texte codé.
Exemple : Prendre G=6, soustraire le décalage 6-3=3 et retrouver 3=D, donc G se décode D.
Pour A=0, 0-3=-3 et -3 mod 26 = 23, 23=X, donc A se décode X, etc.
GFRGHA se déchiffre DCODEX.
Un message encodé avec le chiffre de César possède des décalages constants pour chaque lettre, ainsi son un diagramme d'analyse des fréquences est décalé (d'un nombre de lettres égal au décalage).
L'indice de coïncidence égal à celui du texte clair (comme pour tout chiffrement par substitution).
Toute référence à César, général et empereur de Rome, ses contemporains (Cicéron, Brutus, Cleopatre) ou plus globalement à l'antiquité et l'empire romain sont des indices.
Egalement, la présence de mots clés comme Jules (Julius/Iulius/Ivlivs), Ave, Auguste, ou une salade (César) peuvent rappeler l'imperator César.
La méthode sans clé de décalage la plus facile est de tester tous les décalages, si l'alphabet a 26 lettres, il y a 25 décalages à tester (dCode le fait automatiquement).
Le chiffre de César est connu pour avoir un décalage de 3. Tous les autres décalages sont possibles. Certains décalages sont connus sous d'autres noms.
Une autre variante modifie l'alphabet de départ, comme par exemple, introduire les chiffres.
Un chiffrement de César avec un décalage de N correspond à un chiffre Affine Ax+B avec A=1 et B=N.
César est parfois écrit Caesar (en latin et en anglais) ou Ceaser (mauvaise typographie).
Le chiffre de César ne s'applique qu'aux lettres de l'alphabet. Il y a cependant plusieurs solutions :
— Ecrire les nombres en chiffres romains, les nombres devenant des lettres, elles peuvent être encodées normalement
Exemple : neuf devient IX qui devient LA avec un décalage de 3.
— Décaler les nombres avec le même décalage que les lettres.
Exemple : 9 devient 12 (décalage de +3)
— Intégrer les nombres dans l'alphabet.
Exemple : Avec l'alphabet ABCDEF123, 21 devient BA avec un décalage de 3.
Jules César (Caius Iulius Caesar) utilisait cette technique pour certaines de ses correspondances, notamment militaires, comme avec Cicéron (décalage de 3).
Cependant, il est possible que d'autres civilisations l'aient également utilisé indépendamment.
Le chiffre d'Auguste est le nom parfois donné au code César avec un décalage de 1
Dans le code Helène, L vaut N (Hélène LN), le décalage est de 2
Dans le code Oeufs Pourris, E vaut I (Oeufs pourris, E pour I), le décalage est de 4
Dans le code KO, K vaut O (KO : Knock Out), le décalage est de 4
Dans le code Pété, P vaut T (Pété PT), le décalage est de 4
Dans le code Hervé, R vaut V (Hervé RV), le décalage est de 4
Dans le code Jeux Olympiques, J vaut O (JO : jeux olympiques), le décalage est de 5
Dans le code Agé, A vaut G (Agé AG), le décalage est de 6
Dans le code Eiffel, F vaut L (Eiffel FL), le décalage est de 6
Dans le code PV, P vaut V (Procès Verbal PV), le décalage est de 6
Dans le code WC, W vaut C (WC : Water Closet), le décalage est de 6
Dans le code Avocat, A vaut K (Avocat), le décalage est de 10
Dans le code Acheté, H vaut T (Acheté HT), le décalage est de 12
Dans le code J'y vais, J vaut V (J'y vais JV), le décalage est de 12
Dans le code ROT13, l'alphabet devient réversible, le décalage est de 13
Dans le code Baden Powell (fondateur du scoutisme, B vaut P, le décalage est de 14
Dans le code Hergé/RG, R vaut G (Hergé Renseignements Généraux RG), le décalage est de 15
Dans le code Déesse, D vaut S (Déesse DS), le décalage est de 15
Dans le code Happé, A vaut P (happé), le décalage est de 15
Dans le code Cassé, K vaut C (Cassé KC), le décalage est de 18
Dans le code Meuh, M vaut E (Meuuuh ME), le décalage est de 18
Dans le code A voté, A vaut T (a voté), le décalage est de 19
Code ROT47 pour les caractères imprimables ASCII, le décalage est de 47 et réversible
Les 25 façons de chiffrer César par lui-même : DFTBS, EGUCT, FHVDU, GIWEV, HJXFW, IKYGX, JLZHY, KMAIZ, LNBJA, MOCKB, NPDLC, OQEMD, PRFNE, QSGOF, RTHPG, SUIQH, TVJRI, UWKSJ, VXLTK, WYMUL, XZNVM, YAOWN, ZBPXO, ACQYP, BDRZQ
Pour N allant de 1 à Longueur du Texte Faire
Prendre C = Nième caractère du Texte
Calculer le rang R de C dans l'alphabet
Calculer R2 = ( R + Décalage ) Modulo 26
Ecrire la lettre de rang R2 dans l'alphabet
Fin Boucle Pour
Le code a été nommé d'après Jules César qui est né en 100 av. JC et dont des témoignages (comme Suetonius) prouvent qu'il utilisait ce type de substitution pour protéger ses communications militaires.
La date exacte de création et son réel auteur sont inconnus.
dCode se réserve la propriété du code source pour "Code César". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Code César", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Code César" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Code César" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Code César" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Code César sur dCode.fr [site web en ligne], consulté le 05/11/2024,