CRYPTOGRAPHIE |
Avant d'entrer dans le vif du sujet concernant la
Cryptographie, j'aimerais vous proposer une très jolie intervention du
Chercheur Jarod sur le Forum d'EdelWeb, en date du 25/02/99 : Attention, c'est un peu abstrait. Désolé pour ceux qui pensent (avec raison) que mes contributions sont longues. Mon idée est la suivante. On peut inventer une infinité de codes pour crypter une instruction. Mais le mode d'encodage de la Chouette (sa méthodologie générale) me paraît originale. Peut-on en dégager les principes ? Quels sont les contraintes qui limitent de ce fait les possibilités de Max et servent nos intérêts à nous du côté du décodage ?
Le livre présente, d'une part, des messages digitaux : des textes et des chiffrages, de l'autre, des messages analogiques : des visuels, mais aussi des symboles, des jeux de mots.
Une méthode digitale consiste à encoder un message digital (typiquement : une phrase) en posant une règle de mise en correspondance de signes deux à deux (type de l'encodage digital : le chiffrage, modèle A=1, B=2, etc.). On obtient un message crypté qui est lui aussi digital. L'avantage de cette méthode, c'est qu'une fois qu'on a trouvé le code, la transcription le vérifie de manière non équivoque. La communication digitale est caractérisée par l'univocité : c'est vrai ou c'est faux, mais pas les deux à la fois. Tant qu'on n'a pas trouvé le code, on sait qu'on est dans le faux, et une fois qu'on a trouvé, on sait qu'on est dans le vrai.
Second type d'encodage : les méthodes qui consistent à faire usage de visuels, de symboles, de jeux de mots, qui évoquent, non par le truchement d'un code, mais par association d'idées, le message qu'il faut découvrir. Dans ce jeu, c'est sur ces codages analogiques qu'on se casse les dents. En effet, par opposition à un message digital, un message analogique est ambigu. Il ne se lit pas linéairement (de gauche à droite ou inversement), mais se comprend d'un seul coup en quelque sorte, comme un tout, une "Gestalt". Il ne peut pas exprimer la négation, l'inversion, les quantités, autrement qu'en intégrant des éléments digitaux (et encore le mélange est-il également incertain). Le décodage d'un message analogique est donc incertain. Le coq de la 530 peut représenter la France, le lever du soleil, et bien d'autres choses. En représente-t-il certaines et pas d'autres, ou les représentent-il toutes ? Qu'est-ce qui permet de déterminer ce qui est représenté de ce qui ne l'est pas ? Mais cette méthode d'encodage ne nous pose pas que des problèmes à nous. Elle en pose au concepteur des énigmes. ET C'EST LA QUE ÇA DEVIENT INTERESSANT.
En effet, au final, il faut qu'un décodage soit possible et permette de trouver le trésor. Et quand ce dernier sera trouvé, il ne faut pas qu'on puisse contester a posteriori les solutions des énigmes et le chemin à parcourir pour arriver au trésor. Certes, Max pourra sans doute dire que les énigmes étaient solubles, puisque quelqu'un a découvert le trésor. Mais ce serait insuffisant. Il n'est qu'à voir l'impatience des chercheurs qui attendent la publication des solutions du Trésor d'Orval : certains veulent aussi comparer la pertinence des solutions officielles avec celle des solutions qu'eux-mêmes ont trouvées. Il faut donc éviter qu'à la lecture des solutions officielles, on puisse se dire : "Ah ? C'était ça ? Ouais, bof, ma solution était tout aussi acceptable". C'est ce "tout aussi acceptable" qu'il faut éliminer.
Première contrainte : Avec des messages analogiques, il ne peut pas le faire de 36 manières, IL EST OBLIGE DE SE REPETER.
COROLLAIRE IMPORTANT de la redondance de l'information, et seconde contrainte : Max manque de place, en 11 pages et 11 visuels, pour fournir une information qui serait A LA FOIS redondante et compliquée. Les énigmes ne peuvent contenir logiquement qu'un ensemble dont les éléments de base sont EN NOMBRE LIMITES, mais répétés et codés sous des formes différentes. Résultat: les solutions doivent elles-mêmes être à la limite de la cucuterie. Ce que Max confirme dans un récent madit recopié sur le forum : les meilleures chasses sont celles dans lesquelles les énigmes sont simples et où les chasseurs se perdent d'eux-mêmes en cherchant compliqué. Voilà. C'était un peu long, mais j'essaie en ce moment de répondre à certains problèmes épistémologiques du type : nous savons tous intuitivement quand une piste est "capillotractée" (j'aime bien ce néologisme que j'ai découvert sur ce forum). Mais existe-t-il des critères sur lesquels nous nous appuyons pour affirmer nos intuitions ? Si nous pouvions objectiver ces critères, nous aurions un moyen d'écarter plus systématiquement les pistes douteuses. En voici donc deux que je soumets à vos réactions :
- contrainte de simplicité (les résultats du décryptage final sont en nombre limité sur la carte).
Dans ce que je considère comme ayant été l'Encyclopédie
des Jeux Mathématiques - Jeux & Stratégie (Revue éditée dans un premier temps par "Science & Vie" de juillet 1975 à juillet 1989, date à laquelle Jessie a disparu pour réapparaître en novembre 1989 et disparaître définitivement en août 1990. Depuis, rien n'a pu égaler la qualité de J&S.) - Jean-Jacques Bloch
a su décortiquer les procédés de cryptage et décryptage,
tant dans leur variété que d'un point de vue historique.
En présence d'un texte crypté, si aucune clé n'est visible
le chercheur aura le réflexe ESANTIRULOC c'est-à-dire d'appliquer
à ce texte - autant que faire se peut - les statistiques applicables à
tout texte rédigé en Français.
S » 8,2 % A » 7,7 % N » 7,6 % T » 7,3 % I » 7,2 % d'où "ESANTIRULOC". Aujourd'hui, les pourcentages sont légèrement différents et certaines lettres se disputent leur rang mais les proportions restent évidemment les mêmes. Ainsi, lorsque je me suis trouvé confronté au texte ALMISEFORU (Indication fournie par Max Valentin dans le cadre de la chasse au trésor "Sur la trace de la Chouette d'Or", en juillet-août 1993, dans l'Express.)
MA Y DSBLUQRL relevant les proportions suivantes : V = 1; D = 3; Y = 1; S = 6; A = 4; L = 2; N = 1; M = 2; U = 1; R = 2; B = 2; Q = 1 j'en concluais logiquement que S = E, que A = S et que D = A.
Erreur ! Dans ce cas précis, ALMISEFORU était la clé du décryptage et il suffisait d'échanger les lettres du message en fonction des couples de cette clé ( le A par le L et le L par le A, le M par le I et le I par le M, etc.) pour découvrir que "VENU DE L'ILE D'ELBE, IL Y DEBARQUA" ! Dans un texte relativement court, ce qui ne fonctionne que difficilement sur des monogrammes (où les pourcentages partent de près de 18% pour le E pour tomber très vite aux environs de 7% dès les lettres suivantes) fonctionne encore moins bien sur les bigrammes et les trigrammes.
En effet, à quoi sert-il de savoir que sur 10000 ensembles de deux lettres
consécutives, on trouve 305 "ES", 246 "LE", 242 "EN", 215 "DE", 209 "RE"
puisque cela équivaut respectivement à 3,05%, 2,46%, 2,42%, 2,15% et
2,09% et que sur un texte court, des pourcentages aussi serrés ne permettent
de tirer aucune conclusion ?
10 . 5 . 20 . 1 . 9 . 13 . 5
Qui n'a pas utilisé, durant son enfance, le procédé de
cryptage par substitution le plus simple: remplacer chaque lettre du message
par son rang dans l'alphabet ? Cette technique de substitution est toujours très prisée, même si on l'agrémente souvent d'un décalage. Pour ce type de décryptage, l'utilisation d'un tableur (logiciel permettant d'effectuer des calculs simples ou complexes entre les différentes cellules - cases - de ses feuilles de calcul, cela de manière fiable et rapide) facilite grandement les choses. Ainsi, grâce au tableur Excel, par exemple, il sera très facile de décoder la citation suivante d'Aristote :
Bien sûr on remarquera la présence de "68-69", un mot de deux lettres consécutives. Ce mot peut être DE ou TU. Or, la fréquence d'apparition du "69" dans le message permet de penser qu'il s'agit plutôt de "DE". Dans ce cas, si D=68 et E=69, A=65 et le décalage est de 64. Cette méthode est plutôt empirique alors que l'utilisation du tableur permettra de systématiser la démarche. En informatique, les lettres de l'alphabet (entre autres) sont répertoriées dans un tableau de codes dits codes ANSI. Les lettres s'y suivent dans le bon ordre et l'alphabet majuscule commence justement à 65 (A=65, B=66,..., Z=90).
Pour décoder un message dont les chiffres correspondent au rang qu'occupent
les lettres dans l'alphabet, il faut donc penser au décalage de 64
entre le code ANSI de A (code 65) et son véritable rang (rang 1) Aristote aura donc dit : "LE DOUTE EST LE COMMENCEMENT DE LA SAGESSE"
Lorsque l'on a assimilé cette technique informatique, ce type de cryptage
par substitution simple redevient traditionnelle.
"RIEN NE SE PERD, RIEN NE SE CREE, TOUT SE TRANSFORME." (attribué à Lavoisier) Pour brouiller les pistes, le codage a pu être effectué en décalant les lettres de l'alphabet par rapport à leur rang. Par exemple, avec un décalage de +5, A=6, B=7, C=8,..., T=25, U=26, V=1, W=2,..., Z=5. Si l'on utilise un tableur, on voit que comme précédemment il faudra non seulement penser au décalage naturel de 64 existant entre le rang d'une lettre et sa position dans le tableau des codes ANSI, mais penser aussi au décalage de cryptage utilisé au moment du codage (Il faudra donc utiliser la fonction =car(nombre+64-décalage). Pour un décalage de 5 nous aurons =car(nombre+64-5) soit =car(nombre+59). Mais on s'aperçoit très vite qu'à partir de V (1) cette simple formule ne suffit plus car 1+59 donne 60 et que 60 n'est ni le code ANSI de V ni d'aucune autre lettre majuscule de l'alphabet. Il faut donc indiquer à Excel que lorsqu'il se trouve en présence d'un code inférieur à 65, il doit lui ajouter 26. On formulera cette requête de la façon suivante : SI nombre+59<65 ALORS ajouter 26 SINON ne rien ajouter. En langage Excel, cela donne =si(nombre+59<65;car(nombre+59+26);car(nombre+59)) ou mieux =si(nombre+59<65;car(nombre+85);car(nombre+59)) ). Dans l'exemple ci-dessous, le problème informatique de retour arrière de 26 ne se pose que pour une seule lettre mais il doit être résolu pour l'ensemble du message :
23.14.10.19 19.10 17'6.23.23.10.25.10.23.6 "LA VERITE EST EN MARCHE ET RIEN NE L'ARRETERA" (Emile Zola) Si l'utilisation de l'informatique est parfaitement inutile dans le cas de cryptages aussi simples - les exemples présentés ci-dessus ne l'ont été qu'afin d'illustrer la technique - elle se révèle très intéressante dans le cas de substitution double ou de transposition, techniques que nous aborderons après avoir résolu ce dernier problème :
Là, pas de substitution lettres-chiffres mais un simple décalage
de rang de -7 .
=si(code(lettre)-décalage>90;car(code(lettre)-décalage-26);si(code(lettre)-décalage<65; car(code(lettre)-décalage+26);car(code(lettre)-décalage))) Le texte décodé est : "IL N'EST DE PIRE AVEUGLE QUE CELUI QUI NE VEUT PAS VOIR" !
Comme nous venons de le voir, cette technique consiste à remplacer chaque lettre du message à coder par un chiffre ou par une lettre correspondante prise dans le même alphabet décalé de n lettres.
exemple : M A G I C I E N
C'est ce principe que j'ai retenu lorsque j'ai parlé du Code 13 pour la première fois sur le serveur minitel Maxval (voir page consacrée aux "Codes").
exemple : A R S A l'époque, j'avais trouvé intéressant le fait que les lettres du mot NAVIRE étaient complémentaires deux à deux selon ce code !
Bien plus compliquée, cette technique consiste à faire varier le décalage à chaque lettre en fonction d'une clé numérique.
exemple : M A G I C I E N
Elle consiste à utiliser un ordre alphabétique quelconque auquel on fait correspondre un alphabet normal.
exemple :
Naturellement, un alphabet quelconque étant difficilement mémorisable,
il proviendra d'une clé.
Le relevé vertical des colonnes ainsi obtenues donne bien : D B L V A C M W ... Le crypteur devra bien sûr communiquer au destinataire de son message la clé de cryptage et aura codé notre MAGICIEN en PDMULUAF avec la clé DAUPHIN. Dans le cadre d'un jeu, la clé pourra être dissimulée dans une énigme, ce qui rend le décryptage plus délicat encore, ou ne pas être communiquée du tout. Seule la sagacité du joueur lui permettra alors de trouver cette clé qui pourra être confirmée par ailleurs.
On peut toutefois noter qu'une clé de ce type est forcément
composée de caractères différents, ce qui peut attirer
l'attention des plus vigilants.
Il peut être appliqué au procédé décrit
précédemment une clé de décalage numérique
comme il l'a été vu à propos de la substitution double. Dans notre exemple, la double-clé pourrait être DAUPHIN-MAÏS, par exemple, puisque d'un point de vue alphabétique parmi les quatre lettres du mot MAÏS, A occupe la première place, I la seconde, M la troisième et S la quatrième. MAÏS peut donc bien se substituer à la clé numérique 3124, comme l'auraient aussi bien pu VAUX ou IDES.
Une transposition est un mélange de toutes les lettres d'un message,
une sorte d'anagramme géante. exemple : clé littérale : CHAPITRE
Si l'on relève les colonnes par ordre numérique imposé par le chiffre qu'elles comportent, on obtient le message crypté :
La découpe de ce message en tronçons qu'il essaiera de superposer permettra au décrypteur de tenter de trouver des bigrammes, puis des trigrammes, possibles en Français (Bigramme : assemblage de 2 lettres. Trigramme : assemblage de 3 lettres).
Même si la précision des pourcentages n'apporte pas grand-chose, comme on l'a vu, il est intéressant d'avoir une idée des fréquences de monogrammes, bigrammes et trigrammes en langue française. Les monogrammes : ESANTIRULO
E:17.76% U:6.05% Q:1.34% Y:0.21% Les bigrammes : les lettres doublées :
SS:0.73% NN:0.24% FF:0.10% II:0.02% les autres bigrammes :
ES:3.05% EL:1.41% EC:1.00% TR:0.86% Les trigrammes :
ENT:1.18% LLE:0.53% NDE:0.46% EST:0.40% J'aimerais rappeler ce que Max expliquait sur Maxval le 18 juin 1997 :
"En 93, un célèbre fabricant d'ordinateurs a permis à ses collaborateurs
d'utiliser un gros système pendant les heures creuses afin de s'attaquer à la
Chouette.
|
|