Le système du dictionnaire

Un des inconvénients de la substitution homophonique est que l'on doit disposer d'un tableau de conversion. Il existe cependant un moyen simple d'éviter cela: il suffit que les protagonistes s'entendent sur une page d'un livre (de la même édition). Le message crypté sera une suite de nombres qui indiqueront les rangs des lettres dans le texte de la page. C'est le système du dictionnaire (ou chiffre du livre).

Exemple
En utilisant cette page web (titre compris), on peut chiffrer le mot "livre" par "1, 16, 34, 23, 27".

On dit qu'un procédé analogue fut utilisé entre Marie-Antoinette et le marquis de Bouillé, le livre choisi étant un ouvrage assez à la mode, Paul et Virginie, paru en 1788. Là, 1712 signifiait 17ème ligne, 12ème lettre. Il fut également utilisé pour les rapports entre Londres et la Résistance et par les agents parachutés en France.


Le petit programme javascript ci-dessous vous permettra de chiffrer/déchiffrer un message non accentué (au besoin prétraitez le texte). Ici, on a pris comme texte-clef un extrait de la fable de Jean de la Fontaine "Le Lion, le Singe et les deux Anes". Vous pouvez écrire un autre texte, mais il faut qu'il soit non accentué.
Cliquez ensuite sur "Construire l'alphabet de chiffrement": vous verrez alors les nombres qui remplaceront les lettres du message clair. Si, dans le texte-clef, certaines lettres n'apparaissent pas, le programme attribuera à ces lettres orphelines un nombre directement supérieur au dernier nombre attribué (dans l'exemple ci-dessous, K, W, Y et Z étaient des lettres orphelines; comme le texte-clef contient 354 lettres, le programme leur a respectivement attribué les nombres 355, 356, 357 et 358).
Vous n'avez plus qu'à écrire votre texte clair et à presser le bouton "Chiffrer", ou écrire le message chiffré (des nombres séparés par des virgules) et cliquer sur "Déchiffrer".

Texte-clef

Clef

Message clair

Message chiffré



Dans son roman Le code Rebecca, Ken Follett présente une autre technique basée sur un livre (dont le titre est Rebecca):

Extrait du chapitre 3, pp. 51-52
[...] Wolff s'approcha du buffet où il dissimulait l'émetteur radio. Il prit le roman anglais et la feuille de papier sur laquelle était inscrit le chiffre du code. Il l'étudia. On était aujourd'hui le 28 mai. Il fallait ajouter 42 - le chiffre de l'année - à 28 pour arriver au numéro de la page du roman qu'il devait utiliser pour coder son message. Mai était le cinquième mois de l'année, aussi allait-il supprimer une lettre sur cinq dans la page.
Il décida d'envoyer comme message SUIS ARRIVE. M'INSTALLE. ACCUSEZ RECEPTION. Commençant en haut de la page 70 du livre, il chercha la lettre S. En supprimant une lettre sur cinq, le S était le dixième caractère de la page. Dans son code, il serait donc représenté par la dixième lettre de l'alphabet, le J. Il fallait ensuite un U. Dans le livre, la troisième lettre après le S était un U. Le S de SUIS serait donc représenté par la troisième lettre de l'alphabet, le C. Il y avait des façons particulières pour représenter les lettres rares, comme le X, par exemple.
Ce type de code était une variation de la feuille unique de bloc, la seule forme de code indéchiffrable en théorie comme en pratique. Pour décoder le message, il fallait avoir tout à la fois le livre et la clé. Lorsqu'il eut codé son message, il regarda sa montre. Il devait émettre à minuit. Il disposait de deux heures avant de faire chauffer l'émetteur. [...]


Référence


  Didier Müller, 23.1.21