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 secretsde 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…
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 |
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é.
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.
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.
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é.
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 | |
Fr | 9,42 | 1,02 | 2,64 | 3,39 | 15,87 | 0,95 | 1,04 | 0,77 | 8,41 | 0,89 | 0,00 | 5,34 | 3,24 | 7,15 | 5,14 | 2,86 | 1,06 | 6,46 | 7,90 | 7,26 | 6,24 | 2,15 | 0,00 | 0,30 | 0,24 | 0,32 |
GB | 8,08 | 1,67 | 3,18 | 3,99 | 12,56 | 2,17 | 1,80 | 5,27 | 7,24 | 0,14 | 0,63 | 4,04 | 2,60 | 7,38 | 7,47 | 1,91 | 0,09 | 6,42 | 6,59 | 9,15 | 2,79 | 1,00 | 1,89 | 0,21 | 1,65 | 0,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.
Petite conclusion:
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