AccueilđŸ‡«đŸ‡·Chercher

Chiffrement par décalage

En cryptographie, le chiffrement par décalage, aussi connu comme le chiffre de César ou le code de César (voir les différents noms), 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 chiffre de César fonctionne par décalage des lettres de l'alphabet. Par exemple dans l'image ci-dessus, il y a une distance de 3 caractÚres, donc B devient E dans le texte codé.

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).

Il s'agit d'un cas particulier de chiffrement par substitution monoalphabétique : ces substitutions reposent sur un principe analogue, mais sont obtenues par des permutations quelconques des lettres de l'alphabet. Dans le cas général, la clé est donnée par la permutation, et le nombre de clés possibles est alors sans commune mesure avec celui des chiffrements de César.

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).

Exemple

Le chiffrement peut ĂȘtre reprĂ©sentĂ© par la superposition de deux alphabets, l'alphabet clair prĂ©sentĂ© dans l'ordre normal et l'alphabet chiffrĂ© dĂ©calĂ©, Ă  gauche ou Ă  droite, du nombre de lettres voulu. Nous avons ci-dessous l'exemple d'un encodage de 3 lettres vers la droite. Le paramĂštre de dĂ©calage (ici 3) est la clĂ© de chiffrement :

clair  : ABCDEFGHIJKLMNOPQRSTUVWXYZ chiffré : DEFGHIJKLMNOPQRSTUVWXYZABC

Pour encoder un message, il suffit de regarder chaque lettre du message clair, et d'écrire la lettre encodée correspondante. Pour déchiffrer, on fait tout simplement l'inverse.

original : WIKIPEDIA L'ENCYCLOPEDIE LIBRE encodé  : ZLNLSHGLD O'HQFBFORSHGLH OLEUH

Le chiffrement peut aussi ĂȘtre reprĂ©sentĂ© en utilisant les congruences sur les entiers. En commençant par transformer chaque lettre en un nombre (A = 0, B = 1, etc., Z = 25)[1], pour encoder une lettre avec une clĂ© n il suffit d'appliquer la formule[2] :

Le déchiffrement consiste à utiliser la clé opposée ( à la place de ) :

On peut s'arranger pour que le résultat soit toujours représenté par un entier de 0 à 25 : si (respectivement ) n'est pas dans l'intervalle , il suffit de soustraire (respectivement ajouter) 26.

Le dĂ©calage demeurant toujours le mĂȘme pour un mĂȘme message, cette mĂ©thode est une substitution monoalphabĂ©tique, contrairement au chiffre de VigenĂšre qui constitue une substitution polyalphabĂ©tique.

DĂ©nominations

Le chiffrement par décalage possÚde plusieurs synonymes :

  • le chiffre de CĂ©sar. CĂ©sar utilisait pour ses correspondances un chiffrement par dĂ©calage de 3 lettres vers la droite. Aujourd'hui l'expression « chiffre de CĂ©sar » dĂ©signe n'importe quel chiffrement par dĂ©calage, pas forcĂ©ment de 3[3] ;
  • le code de CĂ©sar.

Historique

Chiffre de César ainsi appelé car Jules César l'utilisa.

CĂ©sar

Postérieur et plus simple que la scytale[4], le chiffre de César doit son nom à Jules César qui, selon Suétone l'utilisait avec l'alphabet grec (inintelligible pour la plupart des Gaulois mais langue maßtrisée par les élites dirigeantes romaines[5]) et un décalage de trois sur la droite pour certaines de ses correspondances secrÚtes, notamment militaires :

« Il y employait, pour les choses tout à fait secrÚtes, une espÚce de chiffre qui en rendait le sens inintelligible (les lettres étant disposées de maniÚre à ne pouvoir jamais former un mot), et qui consistait, je le dis pour ceux qui voudront les déchiffrer, à changer le rang des lettres dans l'alphabet, en écrivant la quatriÚme pour la premiÚre, c'est-à-dire le d pour le a, et ainsi de suite[6]. »

— SuĂ©tone, Vie des douze CĂ©sars, Livre I, paragraphe 56.

Aulu-Gelle confirme l'usage par Jules César de méthodes de chiffrement par substitution :

« Nous avons un recueil des lettres de J. César à C. Oppius et Balbus Cornelius, chargés du soin de ses affaires en son absence. Dans ces lettres, on trouve, en certains endroits, des fragments de syllabes sans liaison, caractÚres isolés, qu'on croirait jetés au hasard : il est impossible d'en former aucun mot. C'était un stratagÚme dont ils étaient convenus entre eux : sur le papier une lettre prenait la place et le nom d'une autre ; mais le lecteur restituait à chacune son nom et sa signification »

— Aulu-Gelle, Nuits attiques, livre XVII, 9

Bien que CĂ©sar soit le premier personnage connu Ă  utiliser cette technique, on sait que d'autres chiffres par substitution, Ă©ventuellement plus complexes, ont Ă©tĂ© utilisĂ©s avant lui, et il n'est donc pas certain qu'il soit le premier Ă  l'avoir conçu, mĂȘme s'il a pu le rĂ©inventer[7].

Auguste, son neveu, utilisait aussi un chiffre, consistant en un décalage de un sans boucler à la fin de l'alphabet :

« Lorsqu'il écrivait en chiffres, il employait le b pour a, le c pour le b, et ainsi de suite pour les autres lettres. Au lieu du z il mettait deux a. »

— SuĂ©tone, Vie d'Auguste, 88

Toujours suivant les Ă©crits d'Aulu-Gelle, on peut penser que Jules CĂ©sar utilisait d'autres clĂ©s, et mĂȘme d'autres techniques de chiffrement plus complexes[8]. En particulier Aulu-Gelle fait rĂ©fĂ©rence Ă  un traitĂ© (aujourd’hui perdu) consacrĂ© aux chiffres utilisĂ©s par CĂ©sar[9].

On ignore quelle était l'efficacité du chiffre de César à son époque. La premiÚre trace de techniques de cryptanalyse date du IXe siÚcle avec le développement dans le monde arabe de l'analyse fréquentielle[10].

Utilisations

Un chiffre de César, avec un décalage de un, apparaßt au dos du Mezuzah[11].

Au XIXe siÚcle, les pages d'annonces personnelles des journaux étaient parfois utilisées pour la transmission de messages chiffrés à l'aide de codes simples. David Kahn donne des exemples d'amants communiquant de maniÚre confidentielle en chiffrant leurs messages à l'aide du chiffre de César dans le quotidien britannique The Times[12]. Le chiffre de César fut encore employé en 1915 : l'armée russe le préférait à d'autres codes plus élaborés mais qui s'étaient révélés trop difficiles d'utilisation pour leurs troupes ; les analystes allemands et autrichiens eurent peu de mal à déchiffrer leurs messages[13].

Utilisations modernes

Aujourd'hui, on peut trouver le chiffre de César dans des jouets promotionnels pour enfants. Les livres-jeu emploient souvent cette méthode, avec un décalage de un ou deux dans un sens ou dans l'autre, pour donner des indications sans rendre le jeu trop facile.

Plusieurs cas particuliers ont été nommés par jeux de mots : « avocat » (A vaut K), « cassis » (K 6) et « cassette » (K 7). Typiquement, un jeu pour enfant peut impliquer de décoder un message, en donnant un indice contenant le mot « avocat ».

Un tel code avec un décalage de 13 caractÚres est aussi employé dans l'algorithme ROT13 : cette méthode trÚs simple est utilisée dans certains forums sur Internet pour brouiller tout ou partie d'un texte (comme la chute d'une blague, ou un spoiler), mais pas comme méthode de chiffrement en tant que tel[14].

En , le chef en fuite de la mafia Bernardo Provenzano a été capturé en Sicile grùce notamment au déchiffrement d'une partie de sa correspondance qui utilisait une variante du chiffrement de César basée sur les nombres : A s'écrivait 4, B 5, etc[15].

Attaques

DĂ©calage du
déchiffrement
Texte de test
0 GVCTX SKVEQ QI
1 FUBSW RJUDP PH
2 ETARV QITCO OG
3 DSZQU PHSBN NF
4 CRYPT OGRAM ME
5 BQXOS NFQZL LD
6 APWNR MEPYK KC


23 JYFWA VNYHT TL
24 IXEVZ UMXGS SK
25 HWDUY TLWFR RJ

Le chiffre de CĂ©sar peut ĂȘtre cassĂ© trĂšs facilement, mĂȘme Ă  l'aide du seul texte chiffrĂ©. On peut distinguer deux cas :

  • le cryptanalyste a connaissance du fait qu'un simple chiffrement par substitution a Ă©tĂ© employĂ©, mais ignore qu'il s'agit du chiffre de CĂ©sar en particulier ;
  • le cryptanalyste sait que le chiffre de CĂ©sar a Ă©tĂ© utilisĂ©, mais ignore la valeur du dĂ©calage.

Par recherche de la méthode de chiffrement

Dans le premier cas, il est possible de casser le chiffre de CĂ©sar Ă  l'aide des mĂȘmes techniques que dans le cas gĂ©nĂ©ral d'un chiffrement par substitution, Ă  savoir l'analyse frĂ©quentielle ou la recherche de mots probables[16]. Lors de la rĂ©solution, le cryptanalyste ne sera pas sans remarquer une certaine rĂ©gularitĂ© dans les dĂ©calages, et en dĂ©duira que l'algorithme employĂ© est le chiffre de CĂ©sar.

Par recherche de la valeur du décalage

Dans le deuxiĂšme cas, comme il n'y a qu'un nombre limitĂ© de dĂ©calages (vingt-six dont un inutile), il suffit de tester tous les chiffrements possibles jusqu'Ă  trouver le bon. C'est ce qu'on appelle une attaque par force brute, technique de test de toutes les combinaisons possibles[17]. Une mĂ©thode simple pour mener l'attaque est de prendre un fragment du texte chiffrĂ© et d'Ă©crire dans un tableau tous les dĂ©calages possibles (voir le tableau ci-contre)[18]. Dans ce tableau, on a pris le fragment GVCTX SKVEQ QI ; le texte en clair apparaĂźt ainsi facilement Ă  la quatriĂšme ligne. Une autre façon de procĂ©der serait d'Ă©crire toutes les lettres de l'alphabet, en dessous de chaque lettre du fragment, et en commençant par celle-ci. Ce genre d'attaque peut ĂȘtre accĂ©lĂ©rĂ©e en utilisant des bandes avec l'alphabet Ă©crit dessus ; les bandes Ă©tant placĂ©es en colonne sur le texte chiffrĂ© (lettre sur lettre : par exemple, le « E » de la bande doit ĂȘtre placĂ© au-dessus du « E » du texte chiffrĂ©), la phrase en clair doit apparaĂźtre sur une des lignes.

Analyse fréquentielle

Analyse de la fréquence d'apparition de lettres dans un texte en français. Un chiffrement de César ne fait que décaler cette distribution, ce qui rend son cassage aisé par analyse fréquentielle.

Une autre attaque possible est de faire une analyse de frĂ©quence d'apparition des lettres : on gĂ©nĂšre un graphique sur la frĂ©quence d'apparition de chaque lettre dans le texte chiffrĂ© et un autre avec un texte de rĂ©fĂ©rence, dans la langue du message d'origine, et on explore par dĂ©calages successifs toutes les possibilitĂ©s. En les comparant, un humain peut facilement voir la valeur du dĂ©calage entre ces deux graphiques, et trouver la clĂ© de chiffrement. Cette technique s'appelle l'analyse frĂ©quentielle. Par exemple, en anglais, les lettres E et T sont les plus frĂ©quentes et les lettres Q et Z, les moins frĂ©quentes[19]. Des ordinateurs peuvent aussi faire ce travail de reconnaissance en Ă©valuant la concordance de distribution des deux textes (le texte chiffrĂ© et celui de rĂ©fĂ©rence) en utilisant, par exemple, une fonction test du χÂČ de Pearson[20].

Avec des textes longs, il est trĂšs probable qu'il n'y ait qu'une seule possibilitĂ© de dĂ©chiffrement. Mais pour de courts textes, il peut y avoir plusieurs possibilitĂ©s de dĂ©chiffrement. Par exemple, « NYHCL » peut ĂȘtre dĂ©chiffrĂ© en « grave » (par un dĂ©calage de 19) ou en « tenir » (6) (pour un texte en français) ; ou alors « DQODG » peut donner « bombe » (24) ou « recru » (14) (voir aussi : distance d'unicitĂ©).

Composition de chiffrements

EnchaĂźner les chiffrements (et les dĂ©chiffrements) ne donne pas de protection supplĂ©mentaire car chiffrer un texte avec un dĂ©calage de trois sur la gauche, puis le chiffrer de nouveau avec un dĂ©calage de sept sur la droite revient exactement au mĂȘme que de coder le texte de dĂ©part avec un dĂ©calage de quatre sur la droite (). En termes mathĂ©matiques, l'ensemble des vingt-six opĂ©rations de chiffrement (en comprenant le dĂ©calage nul c'est-Ă -dire le texte chiffrĂ© identique au texte clair) est stable par composition. Il forme mĂȘme un groupe[21], puisque, de plus, une opĂ©ration de dĂ©chiffrement est identique Ă  une opĂ©ration de chiffrement.

Le chiffre de VigenĂšre

Article détaillé : chiffre de VigenÚre.

Le chiffre de VigenĂšre utilise le chiffre de CĂ©sar mais avec un dĂ©calage diffĂ©rent suivant la position de la lettre dĂ©calĂ©e dans le texte ; la valeur de ce dĂ©calage est dĂ©finie Ă  l'aide d'un mot-clĂ©, chaque lettre du mot-clĂ© dĂ©signe le dĂ©calage correspondant Ă  sa position dans l'alphabet (0 pour A, 1 pour B etc.). Si la longueur du mot clĂ© est n, toutes les lettres du texte clair en position un multiple de n sont dĂ©calĂ©es suivant le mĂȘme entier, de mĂȘme pour celles en position un multiple de n plus 1, etc. L'utilisation de plusieurs dĂ©calages diffĂ©rents rend inopĂ©rante l'analyse frĂ©quentielle classique, du moins directement. Des mĂ©thodes statistiques plus avancĂ©es, utilisant l'indice de coĂŻncidence, permettent cependant de casser le code (voir aussi cryptanalyse du chiffre de VigenĂšre).

On peut voir le chiffrement de Vernam (ou « masque jetable ») comme un chiffre de VigenĂšre oĂč le mot-clĂ© est de mĂȘme longueur que le texte Ă  chiffrer, choisi de façon complĂštement alĂ©atoire, et utilisĂ© une seule fois. Il est alors thĂ©oriquement incassable, mais difficile Ă  utiliser en pratique.

Notes et références

(en) Cet article est partiellement ou en totalitĂ© issu de l’article de WikipĂ©dia en anglais intitulĂ© .
  1. (en) Dennis Luciano et Gordon Prichett, « Cryptology: From Caesar Ciphers to Public-Key Cryptosystems », The College Mathematics Journal, vol. 18, no 1,‎ , p. 3 (DOI ) .
  2. R. Wobst, op. cit. Cryptology Unlocked p. 19.
  3. David Kahn, « To this day, any cipher alphabet that consists of the standard sequence, like Caesar's, is called a Caesar alphabet, even if it begins with a letter other than D. » dans The Codebreakers.
  4. Charles-François Vesin, La cryptographie dévoilée : ou, Art de traduire ou de déchiffrer toutes les écritures en quelque caractÚre et en quelque langue que ce soit ... appliqué aux langues française, allemande, anglaise, latine, italienne, espagnole, suivi d'un précis analytique des écrites ..., , 259 p. (lire en ligne) .
  5. Rémy Kauffer, Histoire mondiale des services secrets, Perrin, , p. 23 .
  6. (en) Texte en anglais.
  7. (en) Edgar C. Reinke, « Classical Cryptography », The Classical Journal, vol. 58, no 3,‎ , p. 115 .
  8. (en) Edgar C. Reinke, « Classical Cryptography », The Classical Journal, vol. 58, no 3,‎ , p. 114 et note 6 p 121.
  9. « On trouve mĂȘme un traitĂ© assez bien Ă©crit du grammairien Probus au sujet de la signification cachĂ©e des lettres dans la correspondance de CĂ©sar. »

    — Aulus Gellius, 17.9.1–5

    , cité par Reinke, voir note précédente.
  10. S. Singh, op. cit. The Code Book pp. 14-20.
  11. (en) Alexander Poltorak, « Mezuzah and Astrology - The Mysterious Name », sur http://www.chabad.org/ (consulté le ).
  12. D. Kahn, op. cit. The Codebreakers — The Story of Secret Writing pp. 775-776.
  13. D. Kahn, op. cit. The Codebreakers — The Story of Secret Writing pp. 631-632.
  14. R. Wobst, op. cit. Cryptology Unlocked p. 20.
  15. (en) John Leyden, « Mafia boss undone by clumsy crypto », The Register, (consulté le ).
  16. A. Beutelspacher, op. cit. Cryptology pp. 9-11.
  17. A. Beutelspacher, op. cit. Cryptology pp. 8-9.
  18. (en) Albert C. Leighton, « Secret Communication among the Greeks and Romans », Technology and Culture, vol. 10, no 2,‎ , p. 153 (DOI ) .
  19. S. Singh, op. cit. The Code Book pp. 72-77.
  20. (en) Chris Savarese et Brian Hart, « The Caesar Cipher » (consulté le ).
  21. R. Wobst, op. cit. Cryptology Unlocked p. 31.

Voir aussi

Bibliographie

Articles connexes