Historique des techniques de cryptographie :

 

   Depuis 3000 ans environ, les êtres humains ont tenu à garder secret certaines conversations.

Pour cela, il y eût diverses techniques de cryptage reposant sur des principes méconnus des "espions" adverses.

 

 

 

 

L'écriture invisible, au jus de citron :

Ecrire un message à l'aide d'une plume trempée dans du jus de citron permet de rendre le message invisible.

Pour être en mesure de le lire, il faut connaître le truc :

il faut approcher la feuille de papier, sur laquelle le message est écrit, d'une flamme et le message apparaît en transparence.

 

 

Le disque de Phaïstos :

En 1908, sur une plaine crétoise de la Messara, une équipe d'archéologues italiens exhument au milieu des ruines millénaires du palais de Phaistos un disque d’argile recouvert sur ses deux faces de pictogrammes inconnus.

Le disque de Phaïstos est en argile cuite très fine, un peu irrégulier.

Son diamètre varie de 15,8 cm à 16,5 cm, son épaisseur de 16 à 21 mm.

Sur chaque face une ligne en spirale fait fonction de guide, comme les lignes d'un cahier d'écolier moderne.

Cliquez sur les images pour les agrandir :

Face A :         Face B :   

Sur une face, 122 hiéroglyphes en 31 groupes séparés l'un de l'autre par un trait vertical.

Sur l'autre 199 en 30 groupes pareillement séparés.

Ces hiéroglyphes ont été, non pas tracés, mais estampillés (c'est le premier exemple connu).

NB : L'estampillage est une forme de gravure.

À quoi ressemblent ces hiéroglyphes?

Pêle-mêle, on y voit une tête chauve, une autre coiffée comme un Mohican, une coquille Saint-Jacques (ou un gant de baseball), une mâchoire d'âne (ou une gondole vénitienne), un bouclier rond (ou un barillet de revolver), une équerre, une colombe avec une branche d'olivier, un chrysanthème (ou une marguerite), un pressoir (ou une ruche), ...

En tout, 45 signes différents.

Les traductions proposées vont de l'hymne à Poséïdon au récit de la disparition de l'Atlantide.

C'est un fait bien connu des experts en cryptologie que, étant donné un texte chiffré suffisamment court, on peut en proposer à peu près n'importe quel déchiffrement sans qu'il soit possible de décider lequel est le vrai.

Or, non seulement le texte du disque de Phaïstos est court, 241 hiéroglyphes, mais on n'en connaît pas la langue.

On ne s'accorde même pas sur le sens de l'écriture: du centre à la périphérie, ou l'inverse.

Et on ne risque pas de le savoir, car Shannon et Weaver ont prouvé que la mesure de la propriété mathématique fondamentale des textes, l'entropie, était la même qu'on les lise dans un sens ou dans l'autre.

 

 

La technique du rouleau assyrien :

Le message est écrit sur une feuille enroulée autour d'un rouleau d'un certain diamètre.

Durant le transport de la feuille, le message est illisible.

Pour lire le message, on enroule la feuille autour d'un rouleau de même diamètre.

 

 

C'est une technique de transposition : elle consiste à modifier l'ordre des lettres, c'est-à-dire à faire des anagrammes.

anagramme :

  n. fém. Mot composé avec les lettres d’un autre mot, placées dans un ordre différent: «écrit» est l’anagramme de «récit».

 © Dictionnaire Hachette 1998

Nous pouvons décrire très simplement cette méthode de chiffrement sous forme mathématique : par exemple, la permutation (2, 4, 1, 3) consiste à échanger la 1ère lettre avec la 2ème, la 2ème avec la 4ème, la 3ème avec la 1ère et la 4ème avec la 3ème, et ainsi de suite avec les groupes de quatre lettres suivants.

NB : Il est bien évident que cette technique n'est valable que dans le cas de cryptages de messages assez longs.

Un mot de 3 lettres présente 3! possibilités de transposition, soit 6. Il est aisé de toutes les essayer.

En revanche, une phrase dont tous les mots sont collés sans espace présente n! phrases possibles, avec n le nombre de lettres composant la phrase.

Par exemple, une phrase de 35 lettres peut être disposée de 35! façons possibles, soit de 10'333'147'966'386'144'929'666'651'337'523'200'000'000 manières différentes.

 

 

Le carré de Polybe :

Polybe, écrivain grec, est à l'origine du premier procédé de chiffrement par substitution.

C'est un système de transmission basé sur un carré de 25 cases.

 

1

2

3

4

5

1

a

b

c

d

e

2

f

g

h

i,j

k

3

l

m

n

o

p

4

q

r

s

t

u

5

v

w

x

y

z

Chaque lettre peut être ainsi représentée par un groupe de deux chiffres :

celui de sa ligne et celui de sa colonne. Ainsi e=15, v=51,...

 

Polybe proposait de transmettre ces nombres au moyen de torches. Une dans la main droite et cinq dans la main gauche pour e par exemple. Cela permettait donc de transmettre des messages sur de longue distance. Les cryptologues modernes ont vu dans le "carré de 25" plusieurs caractéristiques extrêmement intéressantes :

- la conversion de lettres en chiffres,

- la réduction de nombres, de symboles,

- la représentation de chaque lettre par deux éléments séparés.

 

 

Le chiffre Atbash :

Le chiffre Atbash consiste simplement à inverser l'ordre des lettres de l'alphabet. Il est à remarquer que le mot "Atbash" dérive du système qu'il désigne, puisqu'il est composé à partir des lettres aleph, tau, beth et shin, les deux premières et les deux dernières de l'alphabet hébreux.

 

Clair 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
Chiffré Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

NB : En appliquant deux fois de suite ce chiffrement à un texte, on retrouve le texte clair.

 

 

Le décalage de César :

 

   Cette technique cryptographique repose sur un principe très simple :

on décale d'un certain nombre de crans dans l'alphabet chaque lettre constituant le message à transmettre.

Par exemple, décalons les lettres du message suivant de 3 crans vers la droite, comme le faisait Jules César :

Clair 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
Chiffré D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Ave Caesar morituri te salutant

devient

DYHFD HVDUP RULWX ULWHV DOXWD QW

   Chaque lettre est remplacée par une même lettre : c'est un chiffrement à substitution monoalphabétique.

 

Principe clairement énoncé :

A chaque caractère du texte clair correspond un caractère du texte crypté.

M = ( x1 x2 … xi … xn )

avec xi, le ième caractère du message clair après codage (il s’agit donc d’un nombre).

On associé à chaque caractère un nombre, représentant sa place dans l'alphabet à 26 lettres.

Le message codé est C = « c(x1) c(x2) … c(xi) … c(xn) »

avec c la fonction de cryptage.

Le nombre de lettres, ici noté n, est conservé.

Pour la méthode de César :              c(xi) = (xi + k) [26]

Pour décoder :                                    xi = (c(xi) - k) [26]

avec k, le nombre de crans de décalage.

exemple : A => x = 1

c(x) = (x+3) [26] = (1+3) [26] = 4 [26] 

A devient D.

x = c(x) - 3 [26] = (4-3) [26]= 1 [26]

D redevient A.               

 

autre exemple : Z => x = 26

c(x) = (x+3) [26] = (26+3) [26] = 3 [26]

Z devient C.

x = c(x) - 3 [26] =  (3-3) [26] = 0 [26] = 26 [26]

C devient Z.

 

   Une curiosité amusante à essayer : chiffrez le mot "oui" avec un décalage de 10 crans vers la droite.

Voilà un drôle de dictionnaire français-anglais...

 Fiabilité :

 

Le message codé est cependant déchiffrable par une analyse statistique de la fréquence d'apparition de chaque lettre et par une comparaison avec une analyse faite sur un texte connu de la même langue. En effet, cette méthode conserve la fréquence d’apparition des lettres.

Par ailleurs, si un espion parvient à se procurer la position d’un caractère donné dans le texte clair, il est en mesure de décrypter le message immédiatement.

Plus simplement, il n’y a que 26 valeurs distinctes possibles pour k ;

compte tenu de la puissance des machines actuelles,

il ne pose aucun problème d’essayer toutes les clés (et même à la main, l’opération n’est pas très longue).

Cette méthode a bien fonctionné, car sa technique demeurait secrète à l'époque.

 

On trouve une description du chiffre de César dans les Vies des douze Césars de Suétone :

(Suétone - Vies des douze Césars, Livre premier, César, LVI)

Extant et ad Ciceronem, item ad familiares domesticis de rebus, in quibus, si qua occultius perferenda erant, per notas scripsit, id est sic structo litterarum ordine, ut nullum verbum effici posset: quae si qui investigare et persequi velit, quartam elementorum litteram, id est D pro A et perinde reliquas commutet.

On a conservé en outre ses lettres à Cicéron, et celles qu'il adressait à ses familiers sur ses affaires domestiques; quand il avait à leur faire quelque communication secrète, il usait d'un chiffre, c'est-à-dire qu'il brouillait les lettres de telle façon qu'on ne pût reconstituer aucun mot: si l'on veut en découvrir le sens et les déchiffrer, il faut substituer à chaque lettre la troisième qui la suit dans l'alphabet, c'est-à-dire le D à l'A, et ainsi de suite.

 

 

Léonard de Vinci :

   Etant ambidextre, Léonard de Vinci avait l'habitude d'écrire à l'envers de la main gauche pour que personne ne puisse relire ses découvertes dans son dos.

       

 

 

Le chiffre de Trithème :

   Jean Trithème (Ioannis Trithemius en latin), abbé de son état, est considéré comme un des pères de la cryptographie. C'est lui qui le premier publia un ouvrage imprimé, en latin, traitant de cryptographie : «Polygraphiae libri sex, Ioannis Trithemii abbatis Peapolitani, quondam Spanheimensis, ad Maximilianum Ceasarem» (Polygraphie en six livres, par Jean Trithème, abbé à Würzburg, précédemment à Spanheim, dédiée à l'empereur Maximilien). L'impression fut achevée en juillet 1518 par Johannes Haselberg et l'ouvrage fut réimprimé en 1550, 1571, 1600 et 1613.

La litanie ci-dessous est basée sur l'un des 14 alphabets du système de chiffre de Trithème. Ainsi, chaque lettre est remplacée par un mot ou petit groupe de mots; des mots inutiles sont rajoutés pour articuler le texte.

A = dans les cieux
B = à tout jamais
C = un monde sans fin
D = en une infinité
E = à perpétuité
F = sempiternel
G = durable
H = sans cesse
I-J = irrévocablement
K = éternellement
L = dans la gloire
M = dans la lumière
N = en paradis
O = toujours
P = dans la divinité
Q = dans la déité
R = dans la félicité
S = dans son règne
T = dans son royaume
U-V-W = dans la béatitude
X = dans la magnificence
Y = au trône
Z = en toute éternité

Décodez cette litanie:

Dans la félicité à perpétuité,
Dans son royaume à perpétuité,
En Paradis à perpétuité,
Ainsi qu'en toute éternité;

Dans la gloire à perpétuité,
Mais dans son règne;
Sempiternel, toujours dans la félicité,
Tant dans la lumière que dans la béatitude,
Et dans la gloire à perpétuité,
Mais dans son règne;

En une infinité encore à perpétuité,
Comme dans la gloire autant que dans les Cieux,
A tout jamais, oui ! à tout jamais à perpétuité;

Dans son royaume et dans la félicité,
Irrévocablement, dans son royaume,
Et sans cesse qu'il soit à perpétuité dans la lumière,
Et encore à perpétuité !


Jean Trithème
(1462-1516)

Retenez-les bien !

 

 

Le code de Vigenere :

   D'une bonne utilisation de cette grille d'alphabets décalés, Vigenere a tiré le premier codage à substitution polyalphabétique de l'histoire : le chiffre de Vigenère est une amélioration décisive du chiffre de César. Sa force réside dans l'utilisation non pas d'un, mais de 26 alphabets décalés pour chiffrer un message. On peut résumer ces décalages avec un carré de Vigenère (voir ci-dessous). Ce chiffre utilise une clef qui définit le décalage pour chaque lettre du message (A: décalage de 0 cran, B: 1 cran, C: 2 crans, ..., Z: 25 crans).

Si la clef est aussi longue que le texte clair, et moyennant quelques précautions d'utilisation, le système est appelé masque jetable.

Pour coder :

Pour décoder :

 

Principe mathématique :

En faisant varier la valeur de k, on casse la fréquence d’apparition des lettres et on améliore grandement la difficulté de décryptage.

 

     

Substitution simple                                    Chiffre de Vigenere

 

c(xi) = (xi + ki) [N]

avec ki, la clé k utilisée avec le caractère x à la position i

C’est le regroupement de plusieurs substitutions simples qui sont appliquées successivement suivant la place du caractère dans le message.

La valeur de ki est donc donnée par la position i du caractère à chiffrer ainsi que par la clé.

Si la clé est "key", alors k1 = position de k dans l'alphabet = 11

donc k1=11

        k2 = 5

          k3 = 25

 

Fiabilité :

      Dans l'exemple ci-dessous, le mot "thé" est chiffré "DPP" 2 fois et "BSS" 1 fois. Charles Babbage comprit que des répétitions de cette sorte lui offraient la prise dont il avait besoin pour attaquer Vigenère. Il va d'abord chercher des séquences de lettres qui apparaissent plus d'une fois dans le texte :

- soit la même séquence de lettres du texte clair a été cryptée avec la même partie de la clef

- soit deux suites de lettres différentes dans le texte clair auraient (possibilité faible) par pure coïncidence engendré la même suite dans le texte chiffré.

Le 1er cas étant le plus probable, il en déduit le nombre de facteurs de la clef puis par une méthode de fréquence de distribution des lettres cryptées, il en déduit les lettres du texte clair.

Exemple :

 

K I L O K I L O K I L O K I L O K I L O K I L O K
t h e r u s s e t h e j a s m i n t h e c h i n e
D P P F E A D S D P P X K A X W X B S S M P T B O

Dans cet exemple, THE est chiffré en DPP la première et la deuxième fois, et en BSS la troisième. C'est pourtant la faiblesse du chiffre de Vigenère: ces répétitions apparaissent parce que dans l'original, les mêmes séquences de lettres sont chiffrées avec la même partie de la clef.

Résumons :

Le premier pas consiste à deviner la longueur de la clef.

Cela est possible si la clef est courte et le texte long.

Dans ce cas des séquences de lettres peuvent apparaître plusieurs fois.

On cherche pour cela des séquences de plusieurs lettres consécutives (par exemple 3 ou plus) apparaissant plusieurs fois.

D'après l'emplacement de ces groupes, on déduit la longueur de la clef.

Ce renseignement est capital. Si, par exemple, la longueur de la clef est 3, cela signifie que les caractères de rang 1, 4, 7, 10, ..., 3k+1, sont simplement décalés à la manière du chiffre de César.

On peut donc appliquer maintenant l'analyse de fréquences à ces caractères et trouver la première lettre de la clef. Pour la deuxième lettre de la clef, on analysera les fréquences des caractères de rang 3k+2 et pour le dernière lettre les fréquences des caractères de rang 3k.

 

Clair


Blaise de Vigenère
(1523-1596)
Clef
                     
Chiffré

 

L'alphabet bilitère :

   La cryptographie consiste à chiffrer les messages pour les rendre incompréhensibles, alors que la stéganographie cache les images dans un support (une image ou un texte qui passeront inaperçus). La stéganographie est donc l'art de dissimuler les messages.

   Francis Bacon (1561-1626) est l'inventeur d'un système stéganographique qu'il mentionna d'abord en termes vagues dans un ouvrage paru en 1605 et intitulé Of the proficience and advancement of Learning, divine and humane (De la valeur de l'avancement de la science divine et humaine). Il l'exposa plus clairement en 1623 dans De dignitate et augmentis scientiarum. Il commençait par remplacer les vingt-quatre lettres de l'alphabet de son temps (i se confondait avec j et u avec v) par des arrangements des deux lettres A et B en groupes de cinq:

a AAAAA g AABBA n ABBAA t BAABA
b AAAAB h AABBB o ABBAB u-v BAABB
c AAABA i-j ABAAA p ABBBA w BABAA
d AAABB k ABAAB q ABBBB x BABAB
e AABAA l ABABA r BAAAA y BABBA
f AABAB m ABABB s BAAAB z BABBB
Alphabet bilitère

NB : Cet alphabet, que son inventeur appelait alphabet bilitère, est très semblable dans son principe au codage binaire de l'information dans nos ordinateurs actuels. A et B pour 0 et 1.

Cette conversion est la première étape du procédé. Il faut ensuite un "texte de couverture" qui peut être absolument quelconque. Ce texte est imprimé au moyen de deux types différents de caractères, que l'on pourra appeler le type A et le type B. Ainsi, du texte apparent, on pourra déduire une séquence composée exclusivement de A et de B. Décomposée en groupes de cinq lettres, celle-ci permettra, en utilisant l'alphabet décrit dans notre tableau, de rétablir le texte secret. Dans l'exemple ci-dessous, le type A est représenté par les caractères romains, le type B par les italiques:

N e p a r t e z s u r t o u t p a s s a n s m o i
A A B A B B A A B B B A B B A A A B A A B A B B B
f u y e z

Le texte secret, "fuyez", est entièrement indépendant du texte apparent. Bien entendu, la différence entre les deux types de caractères doit être très discrète, afin qu'elle échappe au lecteur non averti.

 

 

Le mécanisme de Jefferson :

  

Cette machine permet un décalage des lettres automatiques.

Sur une ligne, nous réglons le message, puis nous lisons sur une autre ligne le message codé.

Le destinataire doit posséder la même machine avec les mêmes rouleaux, connaitre le message codé et le nombre de lignes le séparant du bon message.

 

 

Enigma :

Durant la Seconde Guerre Mondiale, les communications devaient rester secrètes.

Pour cela, les Allemands avaient inventé une machine automatisant le cryptage par des procédés mécaniques.

Le cryptage repose ici sur cinq éléments :

- un tableau de connexions,

- trois rotors,

- un réflecteur.

Le tableau de connexions attribue à chaque lettre de l'alphabet une autre lettre de l'alphabet.

Les rotors établissent des connexions entre différentes lettres de l'alphabet et effectue des rotations (d'où le problème du décryptage si on ne connaît pas leur position d'origine). En effet, dès qu'une lettre a été codée, le premier rotor tourne d'un cran; le second rotor tourne d'un cran chaque fois que le premier a fait un tour et le troisième rotor avance d'un cran quand le deuxième a fait un tour.

Le réflecteur, quant à lui effectue des permutations entre les lettres et renvoie la lettre à coder une nouvelle fois à travers les 3 rotors.

Le principe

Le principe de base des machines Enigma conçues par Scherbius repose sur l'utilisation de rotors qui transforment l'alphabet clair (noté en minuscules) en alphabet chiffré (en majuscules). Pour mieux l'illustrer, nous nous limiterons à un alphabet de six lettres. Voici la représentation de l'un de ces fameux rotors, ainsi que le schéma équivalent qui permet de mieux suivre l'opération "avec les doigts".

Schéma 1

Si on frappe la lettre b sur le clavier, un courant électrique est envoyé dans le rotor, suit la câblage interne, puis ressort à droite pour allumer la lettre A sur le tableau lumineux. b est donc codé en A. Idem pour les cinq autres lettres: a devient B, b devient A, c devient D, d devient F, e devient E et f devient C.

Autre principe de base: chaque fois qu'une lettre est tapée au clavier, le rotor tourne d'un cran. Ainsi, b devient A la première fois, mais b devient C la deuxième fois (voir schéma 2, à droite), puis b devient E, etc.

Schéma 2

Dans notre exemple le mot bac est codé ADD (et non ABD si le rotor était resté immobile). Pour augmenter le nombre de combinaisons possibles - et déjouer les tentatives des cryptanalystes -, Scherbius a associé plusieurs dispositifs, comme indiqué sur le schéma 3.

Schéma 3

Le tableau de connexions permet de brouiller les pistes en reliant deux lettres du clavier entre elles (ici a et b). Ainsi, quand on tape b, le courant prend en fait le circuit prévu pour a. Les trois brouilleurs associés multiplient ainsi le nombre de combinaisons. Le deuxième et le troisième avancent respectivement d'un cran quand le premier et le deuxième ont fait un tour complet. Quant au réflecteur, il renvoie le courant dans le dispositif jusqu'au panneau lumineux où la lettre cryptée s'affiche. Son rôle n'est pas d'augmenter le nombre de combinaisons possibles, mais de faciliter considérablement la tâche du destinataire. En effet, si b devient C dans notre exemple (en rouge), on a aussi c devient B. Et c'est valable pour toutes les paires de lettres claire/cryptée. Conséquence: si le mot efface est codé ACBFEB par l'émetteur, il suffira à l'opérateur qui reçoit le message crypté de taper acbfeb sur son clavier pour voir les lettres E, F, F, A, C, E s'allumer. Seule condition: les deux opérateurs distants doivent avoir réglé leur machine Enigma de la même façon.

Au final, si l'on revient aux machines Enigma équipées pour 26 lettres, on a énormément de possibilités, rendant le décryptage sans connaissance de la "clé" initiale quasiment impossible.

 

 Nous avons donc rapidement passé en revue les principales techniques historiques de codage astucieux, physique, ou mécanique.

 

 

Retour à l'index