Chiffrement Monoalphabétique

Le chiffrement monoalphabétique ou chiffrement par substitution est une des plus anciennes méthodes de chiffrement. Elle consiste à remplacer chaque lettre d’un texte par un symbole donné (ce symbole peut être une autre lettre de l’alphabet). Sachant que deux lettres distinctes doivent être chiffrées en deux signes distincts pour permettre un déchiffrement du message sans ambiguïté.

Alphabet désordonné

L’alphabet désordonné est la manière la plus classique de chiffrer des messages, il consiste à remplacer une lettre par une autre. Cela donne par exemple la grille de chiffrement ci-dessous :

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffrement POSDFUGNZQVEIYHWAXCBRJKLMT

Code de César

Le chiffre de César (ou code de César ou alphabet décalé) est un type d’alphabet désordonné qui consiste à décaler les lettres de l’alphabet de quelques crans vers la droite ou la gauche. Par exemple, Jules César (qui a donné son nom à ce code) décalait les lettres de 3 rangs vers la gauche :

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffrement DEFGHIJKLMNOPQRSTUVWXYZABC

L’avantage de ce chiffrement est que la clef de chiffrement est un nombre et qu’il est possible (plus simple) de déchiffrer le message sans avoir de grille de déchiffrement à côté.
L’inconvénient majeur est qu’il n’existe que 25 permutations possibles. Il suffit donc d’essayer tous les décalages pour trouver le bon. Cette technique s’appelle la recherche exhaustive des clefs.

Alphabet réversible

Les alphabets réversibles sont des alphabets désordonnés particuliers qui comme leur nom l’indique permettent de retrouver le message initial si on le chiffre deux fois de suite. Les plus connus sont les chiffres Atbash, Albam, Atbah utilisés par les anciens Hébreux.
Adapté à notre alphabet, le chiffre Atbash consiste simplement à inverser l’ordre des lettres. Le mot “Atbash” est composé à partir des lettres aleph, tau, beth et shin, les deux premières et les deux dernières de l’alphabet hébreu.
Le chiffre Albam décale les lettres de l’alphabet de 13 positions. Il est réapparu en 1984 sous le nom de ROT13 dans un programme permettant de lire les “News” de USENET.
Les grilles de chiffrement, pour ces trois alphabets réversibles, donne ceci :

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Atbash ZYXWVUTSRQPONMLKJIHGFEDCBA
Albam NOPQRSTUVWXYZABCDEFGHIJKLM
Atbah IHGFNDCBARQPOEMLKJZYXWVUTS

Mot-Clef

Grille Horizontale

Au lieu de retenir l’ensemble de la grille (ce qui est relativement difficile à moins d’avoir une mémoire remarquable), il est possible de la construire à partir d’un mot-clef. Les lettres le composant seront mises dans la deuxième ligne de la grille dans l’ordre d’apparition. Évidemment, il faut supprimer les doublons, les signes de ponctuation, les espaces et accents). On ajoutera ensuite les lettres n’apparaissant pas dans le mot-clef par ordre alphabétique.
Voici un exemple avec Mot-Clef !

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Chiffrement MOTCLEFABDGHIJKNPQRSUVWXYZ

On remarque que lorsque les différentes lettres du mot-clef sont apparues la fin de la grille correspond à l’alphabet standard (à partir de la lettre U dans notre cas, T étant la plus éloignée). Évidemment, comme précisés précédemment, les signes de ponctuations et espaces n’ont pas été pris en compte.

Grille Verticale

Afin de pallier au problème précédent, une méthode de construction de grille consiste à écrire le reste de l’alphabet dans un carré de largeur égale au nombre de lettres du mot clef et de lire les lettres colonne par colonne. Exemple avec Mot-Clef ! et Salut :

MOTCLEF
ABDGHIJ
KNPQRSU
VWXYZ
SALUT
BCDEF
GHIJK
MNOPQ
RVWXY
Z
Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Mot-Clef ! MAKVOBNWTDPXCGQYLHRZEISFJU
Salut SBGMRZACHNVLDIOWUEJPXTFKQY

Décryptage

Recherche exhaustive des clefs

Comme nous l’avons indiqué pour le chiffre de César, une recherche exhaustive des clefs est possible, car il n’y a que 25 permutations possibles. Dans le cas d’un alphabet désordonné plus complexe, nous avons \(26!-1\) (\(\approx 4.033•10^{26}\)) possibilités…..

Analyse des Fréquences d’apparition

Avec quelques astuces, nous pouvons réduire ce chiffre. La première étape consiste à connaître la langue utilisée et la fréquence d’apparition des lettres. Si nous prenons pour exemple les résultats du laboratoire CLLE-ERSS qui a recensé tous les mots des pages françaises de Wikipedia en 20081, 2 nous avons le résultat suivant exprimé en pourcentage (j’ai regroupé les caractères accentués vers leur lettre non accentuée) :

EAISNRTOLUDCMPGBVHFQYXJKWZ
14.447.466.646.516.396.075.925.074.964.543.673.242.622.491.231.141.111.111.110.650.460.380.340.290.170.15

On effectue la même opération avec le message chiffré et l’on remplace chaque lettre par sa correspondante. Le résultat final dépend évidemment des fréquences de référence, ainsi, un texte utilisant le vouvoiement de façon significative augmente la probabilité de la lettre Z par exemple. Le second paramètre évident est la taille du texte à déchiffrer, tirer des fréquences d’apparition de quelques mots est trop peu juste. Ces deux paramètres essentiels rendront le décryptage parfois approximatif, mais ce premier décryptage permettra parfois d’avoir une grille proche de la grille réelle.

Attaque par mot probable

L’attaque par mot probable consiste à utiliser un mot dont on est sûr qu’il apparait dans le texte. Si ce mot est oui, nous ne pouvons tirer de règle de déduction de viable si ce n’est que trois lettres consécutives doivent être différentes. Mais si le mot est concombre, on remarque que :

  • La 1re et la 4e lettre sont identiques.
  • La 2e et la 5e lettre sont identiques, mais différentes des lettres 1 et 4.
  • Les autres lettres sont toutes différentes.
  • L’ensemble de ses règles concernent une séquence de neuf lettres consécutives.

Une fois que l’on a trouvé toutes les correspondances possibles, on peut utiliser une statistique khi carré pour déterminer laquelle est la plus probable.

La grille de chiffrement possède une base faible, mais d’autres mots peuvent, potentiellement, être devinés et, un peu comme au sudoku, par élimination et déduction, la grille de chiffrement se constitue. En cas de blocage, le retour à une des méthodes précédentes avec le message en partie clarifié est possible.

Le système monôme-binôme

Le système monôme-binôme consiste à remplacer chaque lettre par un ou deux chiffres à l’aide d’une grille de chiffrement de 3 lignes et 10 colonnes. Deux chiffres forment la clef de ce chiffre dont voici un exemple avec les chiffres 4 et 7.

0123456789
ABCDEFGH
4IJKLMNOPQR
7STUVWXYZ.

Le malgré le fait que certaines lettres ne sont représentées que par un seul chiffre, il est assez facile de les découper sachant que s’ils commencent par 4 ou 7 il y a deux chiffres sinon un seul.
Nota Bene : Évidemment, il est possible de remplir la grille avec un alphabet désordonné.

Décryptage

Le décryptage de ce code est plus complexe, car il faut d’abord découper les chiffres par monôme ou binôme. Sans connaître les deux chiffres clefs, le meilleur moyen consiste à calculer la fréquence d’apparition des chiffres, les deux plus (moins) fréquents sont généralement les deux chiffres des lignes (colonnes).
Le calcul de fréquences des bigrammes permet aussi de déterminer les chiffres des colonnes.
Lorsque les chiffres clefs sont trouvés, il faut tester en reconstituant les séparations entre les chiffres, en calculant les fréquences de l’alphabet trouvé et en vérifiant que les fréquences obtenues sont plausibles. En cas d’échec, il faut changer les chiffres clefs.

Cas Particulier : Carré de Polybe

Ce chiffrement vient de l’historien grec Polybe. IL se base sur un carré de 25 cases (en français, la lettre W sera remplacée par la lettre V, en anglais, I deviendra J)

12345
1ABCDE
2FGHIJ
3KLMNO
4PQRST
5UVXYZ

Nota Bene : Évidemment, il est possible de remplir la grille avec un alphabet désordonné.

Chiffrement par substitution (symbole)

Contrairement à l’alphabet désordonné, l’utilisation de symbole donne une complexité différente au message. Il faut d’abord isoler chacun des symboles qui contrairement aux lettres peuvent avoir des tailles et un nombre d’éléments fluctuant. Il est même possible d’envisager qu’une lettre puisse être chiffrée par plusieurs symboles différents pris aléatoirement (en gardant à l’esprit qu’un symbole ne pourra désigner qu’une et une seule lettre).

Le Parc à cochons (Pig Pen)

Le parc à cochon est un ancien système de chiffrement aujourd’hui largement connu. Son nom vient de la forme de la table de rappel du code ci-dessous.

Pig Pen

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Pig Pen ABCDEFGHIJKLMNOPQRSTUVWXYZ

La grille ci-dessus utilise cette Police venant du site www.dafont.com.

Le chiffrement des templiers

Les templiers chiffraient les lettres de crédit qu’ils mettaient en circulation entre leurs neuf mille commanderies pour éviter les transports de fonds. Leur alphabet de chiffrement était déduit de la croix dite des huit béatitudes qui constituait l’emblème de l’ordre.

Croix des huit béatitudes Chiffre des templiers

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Templier ABCDEFGHIJKLMNOPQRSTUVWXYZ

la grille ci-dessus utilise cette Police venant du site www.dafont.com.

Le cryptogramme de La Buse

Olivier Levasseur dit “la Buse” (ou “la Bouche”) est un pirate du XVIIIe siècle qui, avant d’être pendu, lança le message chiffré ci-dessous dans la foule en criant: “mes trésors à qui saura comprendre!”. À l’heure actuelle, un chiffrement style parc à cochons est utilisé, mais le texte reste assez obscur. Les recherches se focalisent sur l’ile de la Réunion par Emmanuel Mezino qui a publié un livre “Mon Trésor à qui saura le prendre : le secret du cryptogramme du pirate Olivier Levasseur dit La Buse, enfin dévoilé” en 2014.

Cryptogramme du Forban

Voir plus loin

Il est possible de complexifier n’importe quel système de chiffrement monoalphabétique tout en gardant en mémoire que chaque symbole correspond à une et une seule lettre… Mais une lettre peut correspondre à plusieurs symboles. Lors du chiffrement, il suffit de choisir pour chaque lettre un des symboles de la liste qui lui correspond.

Un exemple concret possible est l’utilisation de Kanji japonais avec plus de 6 000 Kanji différents (un peu moins de 2 000 sont utilisés couramment) pour chiffrer seulement 26 lettres. Plus simplement, l’utilisation des 46 Hiraganas ou Katakanas est possible (les 20 lettres les plus utilisées possèdent deux symboles et les six dernières, un seul).
L’avantage de l’utilisation d’un alphabet étranger est l’impression d’avoir réellement affaire à un texte dans une langue étrangère.

Il est également possible de modifier la casse et l’espacement. Généralement, les messages chiffrés sont écrits par groupe de 4 ou 5 lettres majuscules. Pour les chiffrements par symbole, il est également possible de supprimer tous les espaces ou de les chiffrer avec un symbole spécifique.

Les codages

Le Braille

Le braille n’est pas un chiffrement, mais un codage. Il suit le même principe où chaque lettre correspond à un symbole.
Il s’agit d’un système d’écriture tactile à points saillants, à l’usage des personnes aveugles ou fortement malvoyantes. Chaque lettre est une combinaison de 6 points “activés” ou non ce qui correspond à 63 caractères (\(2^6-1\)) en plus de l’espace qui ne contient aucun point. Son nom vient du français Louis Braille.
Nota Bene : On utilise les termes chiffrement et déchiffrement s’il y a une volonté de protéger les données. Codage et décodage sont utilisés dans le cas d’une simple transformation des informations afin de faciliter leur transmission. Toutefois, les termes de codage et décodage peuvent être utilisés dans des situations plus complexes ou un mot peut être remplacé par un autre ou un numéro, il faut pour décoder le message un dictionnaire comme grille de conversion.

Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Braille ABCDEFGHIJKLMNOPQRSTUVWXYZ

La grille ci-dessus utilise cette Police venant du site www.dafont.com.

Le Morse

Tout comme le Braille, le Morse est un codage, mais un peu plus particulier. En effet, ce code est effectué par des séries d’impulsions courtes et longues, qu’elles soient produites par des signes, une lumière, un son ou un geste. Le peu d’éléments différents (2 types de signes) implique une nomenclature dans la taille (ou durée) de chaque signe :

  • Un tiret est égal à 3 points
  • L’espacement entre deux signes d’une même lettre est égal à 1 point
  • L’espacement entre deux lettres d’un même mot est égal à 3 points
  • L’espacement entre deux mots est égal à 7 points
Original ABCDEFGHIJKLMNOPQRSTUVWXYZ
Morse ABCDEFGHIJKLMNOPQRSTUVWXYZ

la grille ci-dessus utilise cette Police venant du site www.dafont.com.

Assistant CEDA (Chiffrement Et Déchiffrement monoAlphabétique)

Méthode de Chiffrement :

Décalage

Grille de Chiffrement :

Original 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
Chiffrement

Chiffrement :

Casse
Espacement
Texte Original Texte Chiffré

Thibaut Monseigne

Thibaut Monseigne

Ingénieur Recherche et Développement en Interface Cerveau-Machine.