- Les codes secrets
-
Code secret
L'histoire des codes secrets remonte aux environs de 500 avant J-C. Le roi de Sparte (Demarate) banni de sa cité se réfugie chez les Perses, ennemis des Grecs, mais un jour, les Perses décide d'attaquer Sparte. Fidèle à son pays, Demarate décide d'envoyer aux Grecs un message sous la forme d'une tablette de bois gravée qu'il recouvre de cire et sur laquelle il les prévient du danger. De ce fait, Demarate est considéré comme le père de la stéganographie. Une seconde utilisation rapportée des codes secrets se passe aussi chez les Grecs : un stratège grec envoya à un de ses amis les instructions nécessaires pour réaliser une révolte contre les Perses. Pour cela, il fit raser le crâne d'un de ses esclaves, y tatoua ses instructions, attendit que la chevelure repousse et l'envoya à son allié qui lui rasa à nouveau le crâne pour lire le message.
En Chine, on faisait avaler au messager un bout de soie où étaient écrits les messages, qu'il restituait ensuite par les voies naturelles.
De nos jours, les codes secrets sont de plus en plus miniaturisés et codés, la plaquette de cire n'est-elle pas l'ancêtre du microfilm ?
Sommaire
Définition
Stéganographie : c'est une discipline qui consiste à modifier la forme ou le support d'une information dans le but d'y dissimuler le contenu.
Plus tard, les codes secrets furent très utilisés pendant les guerres : S'il est un domaine où les codes secrets se révèlent utiles, c'est bien dans le domaine militaire. En effet, posséder un moyen de communication sûr augmente considérablement les chances de gagner une guerre.
Pour donner idée, les Français ont intercepté plus de 100 millions de mots pendant la Première Guerre mondiale. Les comprendre constituait un sérieux avantage sur l'ennemi. Au cours du temps, et des conflits, de nouveaux chiffres n'ont cessé de voir le jour, puis d'être brisés.
Pendant la guerre de 1914/1918, les Allemands utilisent le code ADFGVX. Celui-ci est cassé le 2 juin 1918 par le Français Georges Painvin après un travail acharné. Le cryptologue parvient alors à déchiffrer les messages allemands. Le maréchal Foch, immédiatement averti des intentions de l'ennemi, fait masser les troupes au lieu-dit (le nord de Compiègne). L'assaut allemand a lieu le 9 juin 1918. Il est stoppé net. La dynamique de la victoire s'enclenche.
Sur Enigma, la machine à codes automatiques, lors de la Seconde Guerre mondiale, l'encodage (on devrait dire le chiffrage) s'automatise. Typex, SIGABA, Purple sont quelques-unes des redoutables machines à chiffrer inventées par les états en guerre. Celle des Allemands (Enigma) est pourtant percée à jour dès 1940. Le briseur de chiffres, l'Anglais Alan Turing a sans doute fait changer le cours de la guerre grâce à ses "bombes", les premières machines mécaniques du déchiffrement... et aussi les ancêtres de nos ordinateurs !
Hélas, les briseurs de codes, travaillant dans le secret mais participant activement à la victoire de leur pays, ne sont pas fêtés en héros comme les soldats.
Autre exemple : pendant la Seconde Guerre mondiale, les Allemands cachaient des messages dans des micropoints, de moins de 1 millimètre de diamètre, qu'ils apposaient sur le point final de lettres apparemment anodines. Bref, passer des messages secrets à l'insu de l'ennemi a toujours été une arme cruciale en temps de guerre.
Aujourd'hui, l'informatique permet de façon simple et efficace de dissimuler une image ou un son dans un autre. Cependant, cette méthode est peu sûre pour deux raisons. D'abord, la moindre compression d'un fichier suffit à en modifier le contenu, au risque de fausser le message. Et d'autre part, cacher sans chiffrer n'est pas très sûr : l'interception du fichier par un tiers annihile toute sécurité. Tôt ou tard, en fouillant, en scrutant, il finira par y découvrir le message caché.
Les codes secrets
Les codes scouts, facile à déchiffrer mais amusants...
Un message facile à faire et toujours très amusant. Le principe en est simple : un message invisible qui se révèle aux yeux de tous après passage au dessus d'une flamme. deux solutions sont possibles :
-
- Le citron : le jus de citron est une encre qui possède cette propriété. Invisible sur du papier, il noircit après passage au dessus d'une flamme.
-
- L'effaceur: mais la méthode la plus simple et qui donne les meilleurs résultats est d'écrire à l'effaceur. Le résultat est le même qu'avec le citron pour un effort moindre.
- Le message poinçonné
Le message est dissimulé au milieu d'un texte plus long de la manière suivante : les lettres qui le constituent sont des lettres du texte percées d'un trou minuscule fait au compas. Ce trou est parfaitement invisible à la lecture mais il devient flagrant dès que l'on place le message dos à la lumière. Petit exemple :
"Faites des ponts sur la rivière, un radeau sur les étangs, sur les marécages un chemin de fascine ". Si je "poinçonne" au compas les lettres soulignées, je dissimule dans cette phrase de BP le message: "Sept rues à gauche". Il est conseillé d'ajouter un indice. Par exemple "C'est de la lumière que viendra la lumière".
- Les codes à décalage
Les codes à décalage sont les codes les plus couramment utilisés. Ils sont basés sur un principe simple : on décale l'alphabet d'un certain nombre de lettres. Par exemple A devient F, B devient G etc... jusqu'à Z devient E. On peut aussi utiliser des chiffres. A devient 6, B devient 7 etc... jusqu'à Z qui devient 5.
- Les codes dis "canoniques" sont très célèbres car on peut glisser la clé de codage dans un seul mot (ou un dessin). En voici quelques-uns :
- Avocat : "A vaut K" (on peut ici soit dessiner un avocat soit écrire le mot avocat)
- Cassette : "K7", c'est à dire K=7.
- WC : "V=C"
- Cassé : "K=C"
- Ciseaux : "6=O"
- Elle aime : "L=M"
- Hélène : "L=N"
- Et encore : Déesse (D=S), Idée (I=D), Avé (A=V), Hier(I=R), Cassis (K=6), Hervé (R=V), Oter (O=T)
- L'inverse : il suffit d'inverser l'ordre des lettres de l'alphabet (A=Z, B=Y...)
- Il y a aussi le code morse utilisé par un mouvement connu: le scoutisme, parfois en combinaison avec un autre code généralement simple.
- Décalage mot à mot
Ce code nécessite un dictionnaire. Le principe en est simple: on remplace chaque mot du message par le mot qui le suit dans le dictionnaire. On peut varier l'indice de décalage (ex: 6 mots plus loin dans le dictionnaire). Le message devient ainsi une succession de mots sans queue ni tête, qui se décrypte facilement avec le dictionnaire en faisant l'opération inverse.
Cependant, il faut faire attention et prendre le même dictionnaire pour la traduction que celui utilisé par l'encodage car certains dictionnaires sont plus riches que d'autres!! On peut donc préciser dans le message, par exemple, nom du dictionnaire utilisé.
Plus compliqués
- La méthode RSA
Bernard veut envoyer un message secret à Alice. Alice doit au préalable lui envoyer une clef de chiffrement, qui n’a pas besoin d’être confidentielle :
1) Alice se choisit deux grands nombres premiers p et q, calcule N = pq, et choisit un entier positif et inférieur à N sans facteurs communs avec le produit (p - 1)(q - 1).
Dans la pratique actuelle, p et q doivent être des nombres d’une centaine de chiffres décimaux chacun afin que l’ennemi ne puisse pas, en un temps raisonnable, factoriser N et ainsi trouver la clef de déchiffrage. Pour simplifier, nous prendrons ici à titre d’illustration p = 3, q = 11, d’où N = 33, et e = 3 (qui est sans facteurs communs avec 2 x 10 = 20).
2) Alice communique à Bernard uniquement les entiers N et e (33 et 3 dans notre exemple), qui constituent la clef publique (de chiffrement).
3) Bernard convertit son message en une suite d’entiers m inférieurs à N. Pour chiffrer chaque m, il calcule le reste c de la division de m puissance e par N, et envoie à Alice la suite des c.
L’opération de chiffrement revient à élever, à une même puissance (e) les nombres (m) représentant les lettres du message, sans tenir compte des multiples de N. Dans notre exemple, pour chiffrer le G, représenté par le nombre m = 7 (le rang de G dans l’alphabet), on calcule 7 puissance 3 = 343, dont le reste de la division par N = 33 vaut c = 13. Le G est donc représenté, après chiffrement, par le nombre 13, qui correspond à la lettre M.
4) Par ailleurs, Alice a calculé l’entier positif inférieur à N tel que le reste de la division de ed par (p - 1)(q - 1) soit égal à 1. Dans notre exemple, d = 7.
Ce nombre est indispensable pour inverser l’opération de chiffrement (étape n° 3). On remarque que d dépend non seulement de N mais aussi des facteurs premiers p et q qui composent N. C’est pourquoi Alice doit garder secrets les nombres p, q et d (3, 11 et 7) et ne les communiquer à personne. Si N est assez grand, l’ennemi ne pourra que très difficilement les trouver.
5) Alice déchiffre chaque c que lui envoie Bernard en calculant le reste de la division de cd par N : on démontre que ce reste est égal à m, c’est-à-dire au message en clair.
Dans notre exemple, si Alice reçoit c = 13 (ou la lettre M), elle calcule cd = 137, dont le reste de la division par N = 33 vaut 7, qui correspond à la lettre G.
Le chiffrement et dé chiffrement de GARE AU GORILLE se schématisent alors ainsi.
Annexes
Articles connexes
- Portail de la cryptologie
Catégorie : Cryptologie -
Wikimedia Foundation. 2010.