Codage par substitution mono-alphabétique


  Le codage par substitution mono-alphabétique (on dit aussi les alphabets désordonnés) est le plus simple à imaginer. Dans le message clair (que nous convenons toujours écrit en majuscule), on remplace chaque lettre par une lettre différente. Donnons un exemple; nous opérons la substitution suivante :

Texte clairABCDEFGHIJKLMNOPQRSTUVWXYZ
Texte codéWXEHYZTKCPJIUADGLQMNRSFVBO

Le texte que nous souhaitons coder est le suivant :
UN PETIT ROSEAU M'A SUFFI POUR FAIRE FREMIR L'HERBE HAUTE ET TOUT LE PRE ET LES DOUX SAULES ET LE RUISSEAU QUI CHANTE AUSSSI.
Le texte codé est alors :
MT JCGLG UZVCNM S'N VMWWL JZMU WNLUC WUCSLU Q'DCUYC DNMGC CG GZMG QC JUC CG QCV OZMB VNMQCV CG QC UMLVVCNM RML IDNTGC NMVVVL.
  Pour la première lettre, il y a 26 choix possibles, pour la seconde, 25 choix, etc.... Il existe donc 26! (lire : factorielle 26) façons de coder distinctes. C'est un nombre en soi assez impressionnant (de l'ordre de 4×1026), même si nous verrons plus tard qu'il est assez trompeur...


  Un des problèmes avec le code par substitution est de se souvenir de la clé (c'est-à-dire la permutation) employée. Il n'est en effet pas facile de se souvenir de 26 lettres dans un ordre abscon. C'est pourquoi il existe des variantes :
.Le chiffre de César, fondé sur un simple décalage de lettres.
.Le chiffre AtBash. Il consiste simplement à écrire l'alphabet en sens contraire :
Texte clairABCDEFGHIJKLMNOPQRSTUVWXYZ
Texte codé ZYXWVUTSRQPONMLKJIHGFEDCBA
Bien sûr, la sûreté d'un tel codage est quasi-nulle, puisqu'il suffit de connaitre l'algorithme de codage pour pouvoir décoder immédiatement (il n'y a pas de clé à choisir). Remarquons toutefois une propriété du code Atbash : il est réversible, c'est-à-dire que c'est le même algorithme qui code et décode le texte.
.L'une des façons les plus courantes de définir une subsitution est de se mettre d'accord sur un mot-clé facile à retenir, mettons MATHWEB, et de compléter ensuite le tableau par ordre alphabétique. Ceci donne ici :
Texte clairABCDEFGHIJKLMNOPQRSTUVWXYZ
Texte codéMATHWEBCDFGIJKLNOPQRSUVXYZ
Il existe aussi d'ordres méthodes pour remplir un tel tableau à partir de matrices.

Et encore, dans la cryptographie expliquée...


Sommaire de la Cryptographie Expliquée - Plan du site - Retour à la BibM@th - Tous droits réservés - Frédéric Bayart -