Garder le secret – Petite histoire de la cryptographie – première partie

De tout temps, les codes ont existé. Ils ont d’abord servi à retranscrire des idées, à écrire un langage. l’homme a perçu le besoin de cacher, de dissimuler des informations personnelles ou confidentielles, et cela bien avant l’ère informatique. Il s’agissait le plus souvent des informations militaires ou des secret de fabrication. Pour ce dernier, nous pouvons invoquer la tablette d’argile sur laquelle un potier mésopotamien a fait figurer la recette d’un vernis qu’il avait conçu pour améliorer la qualité de la fabrication de sa poterie. Ceci est considéré comme le premier exemple connu de la cryptographie, car les informations qu’elle contenait ne pouvaient être lu (à l’époque) que par celui qui connaissant la clé de déchiffrement…

Le saviez-vous? On dit “chifrer” et pas “crypter”
Le terme “cryptage” et ses dérivés viennent du grec ancien κρυπτός, kruptos, “caché, secret”. Cependant, le Référentiel Général de Sécurité de l’ANSSI qualifie “cryptage” d’incorrect En effet, la terminologie de cryptage reviendrait à chiffrer un fichier sans en connaître la clé et donc sans pouvoir le déchiffrer ensuite. Le terme n’est par ailleurs pas reconnu par le dictionnaire de l’Académie française.

Sauver son pays menacé

La première utilisation connue de l’envoie d’un message codé à des fins militaires, remonte à l’époque de la Grèce antique. Il s’agit de l’histoire de Leonidas, qui était à cette époque bannit de son pays d’origine –  Sparte.

Au cours de son séjour en Perse, il avait appris que le royaume se préparait à la guerre dans le but de conquérir toute la la Grèce entière. Afin prévenir ses compatriotes de danger imminent qui les attendait, il avait acheté une tablette en bois recouvert de cire. Il a fendu la cire et il a inscrit sur le bois le message, puis il l’a de nouveau recouvert par la cire, pour que la tablette retrouve son état d’origine. Il a envoyé cette tablette, qui contenait le message secret, à sa femme…

En recevant ce colis inespéré, Gorgô – la femme de Leonidas n’avait pas compris toute de suite son importance. Il lui fallait quelques temps pour avoir l’idée d’enlever la cire. C’était déjà trop tard pour son mari, qui a péri dans la bataille de Thermopyles, mais pas pour la Grèce, qui avait gagné, grâce à ce message, le temps suffisant pour se préparer à la guerre et de repousser efficacement l’armée de l’agresseur.

Le chiffrement de César

Le chiffrement de César doit son nom à Jules César qui l’utilisait en l’associant à l’alphabet grec. C’est pour raison que l’écriture grecque était inconnu pour le commun des mortels des Gaulois de l’époque, mais bien maîtrisée par les élites et les commandants des légions romaines. Le chiffrement qu’ils utilisaient, avait le plus souvent un décalage de trois lettres vers la droite. C’est pour cette raison qu’on parle de “décalage de trois”.

Bien que César soit le premier personnage historique connu pour utilisation de cette technique de chiffrement, nous savons que d’autres méthodes de chiffrements par substitution, éventuellement plus complexes, ont été utilisés avant lui, et il n’est donc pas certain qu’il soit celui qui l’avait inventé.

Fonctionnement

Il s’agit d’un chiffrement par substitution mono-alphabétique où chaque lettre est remplacée par une autre se situant un peu plus loin dans l’ordre alphabétique (donc décalée mais toujours identique pour un même message). Elle est choisie d’après un nombre appelé le décalage et celui qui était utilisé le plus souvent, c’est celui de trois lettres:

Entrée: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
Sortie (🠜3):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

Exemple:

Pour chiffrer le mot ASTERIX avec un décalage de trois nous allons procéder:
Pour la lettre A, nous allons prendre l’alphabet et regarder trois lettres plus loin. Il y a donc la lettre D. La lettre A sera donc remplacée par D
En ce qui concerne la lettre X, nous devons boucler l’alphabet: après X, il y a Y, après Y, il y a Z et après Z, il y a A. La lettre X sera donc remplacée par la lettre A.
Le mot ASTERIX sera alors chiffré en DVWHULA

Une autre méthode d’utilisation du chiffrement du César, mais cette fois, plus mathématique:

Nous allons définir: A=0, B=1, …, Z=25. puis ajouter une constante (le décalage de trois lettres, donc 3) et conserver le résultat modulo 26 (longueur de l’alphabet) pour récupérer le texte chiffré.

Exemple:
Pour chiffrer le mot ASTERIX, nous allons proceder:
À la lettre A (qui est égale à 0), nous allons ajouter le décallage (de trois lettres, donc 3). Nous avons donc 0+3=3 modulo 26, ce qui nous permette à retrouver la lettre correspondante à la chiffre 3 et c’est la lettre D. La lettre A sera donc remplacée par la lettre D.
En ce qui concerne la lettre X (qui est égale à 23),nous allons procéder de manière suivante: 23+3=26 et 26 modulo 26 = 0. C’est parce que 0 correspond à la lettre A, c’est la lettre X qui sera donc remplacée la lettre A dans notre texte chifré…
Le mot ASTERIX sera alors chiffré en DVWHULA

Utilisation moderne

Aujourd’hui, nous pouvons trouver le chiffrement de César dans des jouets promotionnels pour enfants. Certains jeux emploient cette méthode, avec un décalage de un ou deux dans un sens ou dans l’autre.

Jeux de mots comme par exemple: “avocat” (A vaut K), “cassis” (K6) et “cassette” (K7) dans les jeux pour enfant peuvent impliquer de décoder un message, en donnant un indice contenant le mot “avocat” par exemple…

Un code avec un décalage de 13 caractères est aussi employé dans l’algorithme ROT13 : cette méthode très simple est utilisée dans certains forums Internet pour brouiller tout ou une partie d’un texte, mais pas comme méthode de chiffrement en tant que tel. 

Encodeur/Décodeur ROT13

Saisissez votre texte dans la fentêre du haut et vous obtenez votre texte encodé, dans celle du bas. Pour décoder le texte encodé avec ROT13, rentrez-le tout simplement dans la fenêtre du haut. Remarquez que c'est parfaitement réversible


↓ ↓ ↓


Les débuts de cryptanalyse

La cryptanalyse est la technique qui consiste à déduire un texte en clair d’un texte chiffré sans posséder la clé de chiffrement. Les pionniers de cette discipline étaient les Arabes avec la découverte au IXe siècle de la méthode d’analyse fréquentielle. Cette technique est très utile contre les chiffrements mono-alphabétiques, qui substituent chaque lettre par une autre et qui présentent un biais statistique. Le cryptanalyste peut déduire alors quelles lettres sont représentées par quel(s) symbole(s) grâce à leur fréquence d’utilisation moyenne dans une langue naturelle donnée. Cette technique était parfaitement adaptée aux algorithmes cryptographiques utilisés à cette l’époque, d’autant de plus que les messages les plus longs sont les plus vulnérables à ce type d’attaque.

Al-Kindi au IXe siècle fait la plus ancienne description de l’analyse fréquentielle. Il est très probable que cette analyse soit née des travaux effectués pour reconstituer la chronologie des révélations du Coran. Il expose alors les fondements de cette méthode de cryptanalyse dans son traité intitulé “Manuscrit sur le déchiffrement des messages cryptographiques”. Il montre qu’un message chiffré conserve la trace du message clair original en gardant les fréquences d’apparitions de certaines lettres.

Principe de fonctionnement d’analyse fréquentielle:

Cette attaque est possible sur le chiffre de César car c’est un système de chiffrement basé sur la substitution mono-alphabétique, ce qui signifie que si l’on chiffre plusieurs fois la lettre “E” avec une même clé de chiffrement, alors la lettre qui la remplace dans le texte chiffré sera toujours la même.

Cela nous permet donc analyser la fréquence d’apparition de chaque lettre dans notre message chiffré et en déduire la lettre correspondante dans le message clair, en établissant un lien avec les lettres les plus utilisées dans la langue française – on suppose ici que notre message a été écrit en français avant d’être chiffré.

* Tableau de fréquence d’apparition des lettres dans la langue française et anglaise
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Fr9,421,022,643,3915,870,951,040,778,410,890,005,343,247,155,142,861,066,467,907,266,242,150,000,300,240,32
GB8,081,673,183,9912,562,171,805,277,240,140,634,042,607,387,471,910,096,426,599,152,791,001,890,211,650,07

Par exemple, si dans notre message chiffré nous remarquons que la lettre “H” est la plus utilisée, il nous est possible d’en déduire qu’il s’agit de la lettre “E” dans le message clair. Ce qui signifie que nous pouvons calculer la différence de rangs entre les deux lettres pour avoir la clé de chiffrement (notre décalage). Pour confirmer notre hypothèse, nous pouvons continuer en cherchant la différence de rangs entre la deuxième lettre la plus utilisée en français (c’est la lettre “A”) et la deuxième lettre la plus employée dans notre message chiffré. Si les deux clés correspondent, il y a alors de fortes chances que ce soit la bonne clé de chiffrement.

Exemple:

Dans le texte chiffré ci-dessous:

XQ SHWLW WHAWH TXL XWLOLVH OH FKLIIUHPHQW GH FHVDU

H – 9 fois

W -6 fois

L – 4 fois

Nous pouvons constater que c’est la lettre “H” qui est la plus utilisée, ce qui laisse supposer qu’il s’agit de la lettre “E” dans le texte clair (la lettre la plus utilisée en français, mais à condition qu’on suppose que le texte avant d’être chiffré, était écrit en français). Nous pouvons alors en déduire qu’il s’agit d’un décalage 🠜3 parce que si A=0 H=7Z=25 et nous supposons que “H” correspond à la lettre “E” qui est égale à 4, cela nous donne: 7-4=3 (notre décalage).
Voici notre texte déchiffré:

UN PETIT TEXTE QUI UTILISE LE CHIFFREMENT DE CESAR

La cryptanalyse n’existait pas encore à l’époque de Jules César. Il pouvait donc être serein en utilisant un système aussi simple et obsolète pour protéger ses secrets.

Le plus grand défaut de ce chiffrement est qu’il s’occupe des lettres, il ne s’occupe pas des symboles et de la ponctuation. C’est pourquoi on doit supprimer toute accentuation du texte à chiffrer (ce défaut est moins gênant pour l’anglais que pour le français ou l’allemand). Il ne s’occupe pas non plus des chiffres, ce qui était sans importance à l’époque de Jules César,  puisque les romains écrivaient leurs chiffres avec des lettres (I, V, X, L, M, etc.)


Conclusion

De tout temps, les codes ont existé. Ils ont d’abord servi à retranscrire des idées, à écrire un langage. l’homme a perçu le besoin de cacher, de dissimuler des informations personnelles ou confidentielles, et cela bien avant l’ère informatique. Il s’agissait le plus souvent des informations militaires ou des secrets de fabrication. Au début, les codes étaient relativement simples, mais compte tenu que les méthodes de cryptanalyses étaient méconnues à cette époque, ils protégeaient bien les secrets.

Avec l’arrivée de la diplomatie à époque de la Renaissance et avancée technologique et scientifique, les codes ont énormément évolués. Cependant ça sera le sujet d’un prochain article

Sources et bibliographie:

Simon Singh – “Histoire des codes secrets. De l’Égypte des pharaons à l’ordinateur quantique” – Lbrairie Amazon

Pascal Lafourcade – “25 énigmes ludiques pour s’initier à la cryptographie” – Librairie Amazon

Hervé Lehning – “La Bible des codes secrets” – Librairie Amazon

Article sur Wikipédia au sujet de l’analyse fréquentielle

Edward Snowden – “Mémoires vives” – Librairie Amazon

dCode – le site universel pour déchiffrer des messages codés


Laissez un commentaire