(Ce texte est un extrait de ma formation « Crypto-Artiste », une formation créée pour permettre aux créatifs de se lancer dans le monde des cryptomonnaies et des NFT, et de gagner de l’argent grâce à leurs créations. En savoir plus…)

Le mot cryptographie vient des mots en grec ancien kruptos (κρυπτός) « caché » et graphein (γράφειν) « écrire », et comme son nom l’indique, elle est utilisée pour protéger des messages.

Aujourd’hui, le terme cryptographie (souvent abrégé en « crypto ») est à la mode et on l’entend partout, pourtant, la cryptographie n’est pas une discipline nouvelle. En réalité, elle est utilisée depuis l’Antiquité. Le plus ancien document chiffré date du XVI siècle avant J.-C. Il s’agissait d’une recette secrète de poterie, découverte dans l’actuelle Irak.

Créer votre premier message crypté

Le principe de la cryptographie est simple : vous prenez un texte, vous le transformez selon une méthode que vous connaissez et obtenez un texte crypté, que personne ne peut lire sans connaitre la méthode employée pour le transformer — en informatique, on parle de « clef ».

Imaginons, par exemple, la méthode de chiffrement suivante :

  • La lettre « a » est remplacée par le chiffre « 3 »
  • Le « b » par le « 7 »
  • Le « t » par le « a »

Prenons maintenant le mot « bateau ». En appliquant la méthode de chiffrement que nous venons de créer, le mot « bateau » se transforme en « 73ae3u ».

Ainsi, si quelqu’un voit le mot : « 73ae3u », il ne pourra pas comprendre que vous parlez de bateau. Par contre, quelqu’un qui connait votre méthode de chiffrement — quelqu’un qui détient la clef — pourra déchiffrer ce message. Simple, non ?

Le problème de la cryptographie symétrique

La méthode de chiffrement que je viens de vous expliquer est une méthode de cryptographie qu’on qualifie de « symétrique ».

En cryptographie symétrique, il faut que les différents participants d’un échange soient tous en possession d’une donnée secrète : la clef leur permettant de déchiffrer le message.

Cela pose un problème, car pour communiquer de manière confidentielle, nous avons besoin d’échanger une donnée confidentielle, avant même d’avoir mis en place un moyen de communiquer confidentiellement.

Une solution serait de rencontrer physiquement la personne avec qui vous voulez échanger des informations confidentielles. Face à elle, vous pourriez vous assurer qu’il s’agit bien d’elle — et que personne n’a usurpé son identité —, puis vous pourriez lui remettre la clef lui permettant de déchiffrer vos messages. Vous pourriez ensuite rentrer chez vous, et communiquer avec cette personne de manière sécurisée, en sachant que personne d’autre qu’elle ne peut lire vos échanges.

Vous imaginez aisément qu’à l’heure d’Internet, où nous échangeons des informations cryptées des dizaines de fois par jour, cette méthode ne peut pas fonctionner. Il vous faudrait rencontrer des dizaines de personnes différentes, et retenir autant de méthodes de chiffrement que vous avez d’interlocuteurs — et je ne vous parle même pas des frais de transport que cela engendrerait, ni du temps que vous perdriez !

La cryptographie asymétrique : l’invention des clefs privées et publiques

Pour résoudre ce problème, à la fin du XXᵉ siècle (1976 pour être exact), des mathématiciens ont inventé un nouveau procédé : la cryptographie asymétrique.

En cryptographie asymétrique, vous n’utilisez pas une, mais deux clefs de chiffrement : une clef est utilisée pour chiffrer les messages — on parle de clef publique —, et l’autre pour les déchiffrer — on parle de clef privée.

Pour comprendre comment le système fonctionne, imaginez que la clé de cryptage, c’est-à-dire la clef publique, soit un cadenas, et que la clé de décryptage, c’est-à-dire la clef privée, soit la clé qui ouvre ce cadenas.

En pratique, voici comment cela fonctionne : je veux vous envoyer un message, mais je ne vous ai jamais rencontré pour vous transmettre de clef secrète. Alors :

  1. Vous m’envoyez votre cadenas
  2. J’écris mon message, je le mets dans une boite, que je ferme avec votre cadenas (je n’ai pas besoin de clé pour fermer un cadenas, seulement pour l’ouvrir).
  3. Je vous envoie le message, en sachant que vous êtes la seule personne à pouvoir ouvrir le cadenas, et donc lire le message.

Avec cette méthode, même si quelqu’un intercepte la boite, il ne pourra pas accéder à son contenu, car il ne possède pas la clé pour ouvrir le cadenas. Et, s’il intercepte le cadenas, il ne pourra pas l’examiner pour créer une nouvelle clé, c’est tout simplement impossible, je vais vous expliquer pourquoi.

La cryptographie et l’informatique

Les échanges cryptés sur Internet ne sont pas gérés avec des cadenas et des clés physiques, mais grâce à des fonctions mathématiques bien spécifiques : des fonctions mathématiques à sens unique et à brèche.

Les fonctions à sens unique sont des fonctions mathématiques telles qu’une fois appliquées à un message, il est extrêmement difficile de retrouver le message original — quasiment impossible en réalité, puisqu’avec un super-calculateur, il vous faudrait probablement quelques milliers d’années pour les déchiffrer.

L’existence d’une brèche secrète permet cependant à la personne qui a conçu la fonction à sens unique de décoder facilement le message grâce à un élément d’information qu’elle possède, appelé clef privée.

Wikipédia décrit l’utilisation de ces fonctions ainsi :

Supposons qu’Alice souhaite recevoir un message secret de Bob sur un canal susceptible d’être écouté par un attaquant passif Eve :

  • Alice transmet à Bob une fonction à sens unique pour laquelle elle seule connait la brèche secrète ;
  • Bob utilise la fonction transmise par Alice pour chiffrer son message secret ;
  • Alice réceptionne le message chiffré puis le décode grâce à la brèche secrète ;
  • Si Eve réceptionne également le message alors qu’il circule sur le canal public, elle ne peut le décoder, même si elle a également intercepté l’envoi de la fonction à sens unique, car elle n’a pas connaissance de la brèche secrète.

Ainsi,

  • La fonction à sens unique est en réalité ce qu’on appelle la « clef publique » (c’est le cadenas de notre exemple).
  • La brèche secrète est ce qu’on appelle la « clef privée » (c’est la clef du cadenas de notre exemple.).
  • C’est le fait que la fonction à sens unique soit impossible à résoudre dans le sens inverse qui nous permet d’être certain que personne ne puisse reproduire la clé de notre cadenas. Même si quelqu’un intercepte et analyse minutieusement le cadenas que nous envoyons à notre interlocuteur, il ne pourra pas reproduire la clef qui sert à l’ouvrir.

De tout ceci découle quelque chose d’extrêmement important : vous pouvez communiquer sans crainte une clé publique — c’est même nécessaire pour qu’il puisse y avoir des échanges, vous devez envoyer le cadenas qui permettra de mettre en sécurité le message transmit —, par contre, vous ne devez jamais, jamais, communiquer votre clé privée, sinon la personne en sa possession pourrait décrypter tous vos messages et la sécurité de vos échanges ne serait plus assurée.

Ce dernier point est extrêmement important, et nous y reviendrons un peu plus tard dans cette formation.

Cryptographie et cryptomonnaies

Si les cryptomonnaies contiennent le mot « crypto », ce n’est pas pour rien : l’invention des cryptomonnaies découle de celle de la cryptographie asymétrique.

Dans le monde des cryptomonnaies, la cryptographie asymétrique est utilisée pour chiffrer et authentifier toutes les transactions réalisées par les utilisateurs.

Dès qu’il y a un échange — vous envoyez des Bitcoins à un ami, par exemple —, il se fait par l’intermédiaire d’une transaction cryptée.

Ne vous inquiétez pas, en pratique, vous n’avez rien à faire : des logiciels gèrent tout ça et, pour vous, c’est aussi simple que de faire un virement à la banque. Mais, il est important que vous sachiez comment fonctionne cette technologie, notamment pour avoir conscience de l’importance de conserver précieusement et en lieu sûr votre clé privée. Parce que oui, vous aurez accès à cette clé et devrez la stocker dans un lieu sûr. Mais, ne vous inquiétez pas : il n’y a rien de bien compliqué, et je vous expliquerai comment faire en temps voulu.