De tout temps on a voulu transmettre des messages secrets en esperant qu'ils ne soient pas interceptés ou tout du moins qu'ils ne soient pas compris par une personne que celle à qui il etait destiné !
Il y a eu beaucoup de techniques parfaites... jusqu'à ce qu'elles soient découvertes ! :)
Chez les Grecs :
l'emetteur et le destinataire du message possédait chacun un baton identique.
Un morceau de parchemin était enroulé dessus et le message écrit en clair. Le parchemin était ensuite envoyé à son destinataire à plat et seule la personne possédant le baton identique pouvait le dechiffrer. L'important etait surtout que personne ne connaisse la façon dont il avait été codé (avec un baton), sinon il etait simple de trouver un baton de taille a peu pres semblable et de tout décoder ! (la baton est la clef du code)
Les Hébreux ont utilisé une technique bien connue des écoliers : ils inversaient les lettres : A devient Z, B devient Y, ...
Nabuchodonosor, roi de babylone, rasait un esclave, inscrivait le message sur son crane, attendait un peu que les cheveux repoussent et envoyait l'esclave porter son message !
Pour améliorer un peu la méthode des hébreux, on peut décaler chaque lettre de l'alphabet par un nombre n (c'est le code de César, qui a été utilisé également par les russes en 1915).
Le n a simplement besoin d'être connu par l'emetteur et le recepteur. Tres simpliste quand même puisqu'il n'y a que 26 codes possibles !
Autre méthode, le carré de Polybe :
On prend un carré de 25 cases (ou plus si on veut plus de lettres... mais avec 25 en mettant V et W dans la meme case on peut s'en sortir)
chaque lettre correspond à une abscisse et une ordonnée donc deux chiffres.
Ainsi a = 11, n=34, ...
On peut meme imaginer que chacun des intelocuteurs possède la même version du carré avec les lettres disposées au hasard (et non comme ici dans l'ordre), il n'y a plus de logique entre chaque lettre, ce qui rend le décodage plus difficile.
On peut casser la clef relativement facilement : on connait la fréquence d'apparition des lettres dans un texte (le e est tres courant, il suffit de trouver le nombre qui revient le plus souvent, deux lettres identiques qui se suivent peuvent être t, m l ou p, ...) et petit à petit on décode des mots et on finit par obtenir le message.
Le chiffrement de Vigenère : il suffit d'un mot de code, d'un papier et d'un crayon.
on fait un tableau de 26x26 cases, contenant toutes les lettres de l'alphabet à la verticales et à l'horizontale, décalées à chaque fois :
on va choisir comme code, l'intersection entre la lettre à codée et la 1ere lettre de notre mot de passe, puis la deuxième, et on repart de zero ensuite :
Exemple : mot de passe : mcblog
phrase à coder : vive les vacances !
on cherche l'intersection de :
m et v : h
c et i : k
b et v : w
l et e : p
o et l : z
g et e : k
m et s : e
c et v : x
b et a : b
l et c : n
o et a : o
g et n : t
m et c : o
c et e : g
b et s : t
et notre message est hkwp zke xbnotogt !
pour le decoder il suffit de faire l'inverse... (on prend la première lettre du mot de passe, on descend la colonne jusqu'à obtenir la lettre qu'on a recu, et on regarde a quelle ligne elle correspond) ingénieux n'est ce pas ?
Celui la fut beaucoup plus compliqué à casser ! Car une symbole à un moment ne signifie pas la meme chose à un autre...
Pendant la guerre, les allemands utilisèrent une sorte de machine à écrire : Enigma !
On tappait le texte en clair, il ressortait en code. Le destinataire tappait le texte en code il en sortait le texte en clair.
C'est aussi une méthode de substitution (une lettre à la place d'une autre, mais là ce n'etait pas toujours la même qui remplaçait une lettre.)
Les touches sont reliées à des circuits électriques et des rotors.
Je tappe sur A, un rotor dirige mon circuit vers G par exemple, puis il tourne.
je tappe C, le rotor va diriger vers F par exemple (comme il a tourné, il ne decalle pas du meme nombre que précédemment) et de nouveau il tourne en attendant la suite.
Et ainsi de suite.
Pour décoder, on utilise le meme rotor au même endroit au départ et le courant passe en sens inverse et le tour est joué.
Dans un prochain article on parlera de la cryptographie moderne, en attendant : rejawd wrv jgrpi awmvpiv ! (indice pour décoder : cerise...)
Observations