logo academy

Cryptographie : Cesare, Enigma et la blockchain

1 février, 2022

7 min

Cryptographie : Cesare, Enigma et la blockchain
débutant

La cryptographie est un élément clé de la blockchain, mais elle est également utilisée pour protéger notre navigation en ligne ou nos messages avec des amis.

Nous ne pouvons pleinement comprendre le génie de la blockchain qu’en comprenant les mécanismes de base de la cryptographie.

Les origines anciennes de la cryptographie

La cryptographie a une histoire très ancienne, à tel point que la première preuve de son utilisation remonte à 1900 avant J.-C. dans une tombe égyptienne, sous forme de hiéroglyphes. 

Ce contexte mystique est tout à fait approprié à la première apparition de la cryptographie, terme qui dérive du grec « écriture secrète ». 

Le but de la cryptographie a toujours été de permettre la communication en présence de personnes qui n’étaient pas censées comprendre le message. Par conséquent, son utilisation a surtout marqué l’histoire des guerres.

La première technique cryptographique encore pertinente aujourd’hui est celle utilisée par Jules César à des fins militaires ; ledit « Cesar Cypher », le chiffre de César. 

César a utilisé une clé à 3 : il a remplacé chaque lettre du message par la troisième qui la suit (par exemple, F au lieu de C). 

Grâce aux technologies modernes, c’est maintenant un système dépassé, mais il a été utilisé pendant longtemps.

Les juifs orthodoxes, par exemple, utilisaient le chiffre de César pour crypter les noms de Dieu au dos de la mezouzah lorsqu’il était interdit d’écrire ou de prononcer son nom. 

La mezouzah est un rouleau de parchemin qui s’attache aux montants de la porte d’entrée des maisons, où sont écrits certains passages de la Torah. 

Un autre modèle de chiffrement classique est la permutation, qui consiste à répartir le message dans une table et à lire la table dans un autre sens pour créer le message chiffré final. Voici un exemple de permutation.

Cryptographie

La cryptographie a ensuite évolué vers des systèmes plus complexes, conduisant à des solutions telles qu’Enigma, le célèbre appareil utilisé pour chiffrer les messages pendant la Seconde Guerre mondiale

Enigma : le génie d’Alan Turing

Enigma est le tournant de l’histoire de la cryptographie. Enigma a d’abord été déchiffrée par le gouvernement polonais avant l’invasion allemande, grâce à une machine électromécanique. 

Le problème, cependant, était que les Allemands continuaient à rendre le mécanisme d’Enigma de plus en plus complexe. 

Le Britannique Alan Turing a pu automatiser le calcul pour décrypter toutes les versions d’Enigma, en permettant aux Alliés de vaincre l’Axe Rome-Berlin à plusieurs reprises.

Parmi ses nombreuses contributions, après la guerre, Turing a conçu l’un des premiers modèles informatiques et a donné l’idée de ce qui allait devenir le test de Turing.

Comment fonctionnait Enigma ?

Enigma suivait le même principe de base que le chiffre de César, à savoir le remplacement des lettres par d’autres lettres en fonction d’un critère.

La différence est qu’Enigma rend ce critère beaucoup plus complexe. 

L’appareil ressemblait à une machine à écrire, mais derrière le clavier, il y avait 3 rotors avec des faisceaux de lettres en haut et un réflecteur en bas qui renvoyait le signal électrique.

Chaque rotor était traversé par des câbles qui se rejoignaient en croisant différentes paires de lettres.

Le cryptage fonctionnait comme ceci :

  • En appuyant sur une lettre sur le clavier, une entrée électrique est envoyée ;
  • Le câble attaché à la lettre traversait 3 paires de lettres sur les 3 rotateurs ;
  • Il revenait en passant par les mêmes rotateurs, mais par différentes combinaisons de lettres.

Dans l’image ci-dessous, il y a un exemple d’entrée ; la lettre H, qui est retournée comme sortie L.

Cryptographie : Cesare, Enigma et la blockchain

La cryptographie à l’ère d’Internet

L’arrivée des ordinateurs a marqué un changement historique dans la cryptographie et la sécurité des données. 

Les algorithmes cryptographiques ne reposent désormais plus sur des machines, mais sur des logiciels. L’un des premiers logiciels populaires était le Data Encryption Standard, créé par IBM en 1977, qui comprenait des clés longues de 64 bits, déchiffrables uniquement par les moyens à la disposition de l’agence de sécurité américaine.

Avec l’évolution des ordinateurs, en 1999, cette norme est devenue déchiffrable même pour les grandes entreprises, la rendant ainsi obsolète.

En 2001, l’Advanced Encryption Standard a donc été élaboré, avec des clés cryptographiques plus longues, et avec un algorithme plus complexe, qui prévoyait à la fois le remplacement et la permutation, dans un mélange avancé de processus répétés plus de 10 fois.

L’AES est encore utilisé aujourd’hui pour les connexions WiFi et pour se connecter à des sites Web. 

Toutes les techniques que nous avons couvertes jusqu’à présent sont basées sur la cryptographie symétrique.

Cela signifie que la clé pour déchiffrer le message est connue à la fois de l’expéditeur et du destinataire, et il s’agit de la même.

Il existe une option plus sécurisée, qui rend encore plus difficile le déchiffrement d’un message par des tiers : la cryptographie à clé asymétrique.

La cryptographie de la blockchain

L’une des formes de cryptographie les plus sûres est celle utilisée par la blockchain, c’est-à-dire la cryptographie à clé asymétrique.

Ce modèle est unidirectionnel et repose sur deux clés : une clé privée et une clé publique.

La clé publique permet à l’expéditeur de crypter les données, tandis que la clé privée permet au destinataire de les déchiffrer. 

Elle est unidirectionnelle car la clé publique peut être obtenue à partir de la clé privée, mais la clé privée ne peut pas être déduite de la clé publique.

De plus, seul le destinataire possède la clé privée.

Ce type de cryptographie est également utilisé par les sites sécurisés. Lorsque tu te connectes à un site et que tu vois une icône de cadenas, cela signifie que ton navigateur a utilisé la cryptographie à clé publique pour vérifier le serveur du site, a établi une clé éphémère secrète avec celui-ci et a utilisé le cryptage symétrique pour protéger tous les échanges de données ultérieurs. 

Dans la blockchain, cette paire de clés sert principalement à sécuriser la garde des cryptomonnaies. Pour utiliser les portefeuilles de cryptomonnaie, appelés wallets, il est nécessaire de disposer d’une clé privée, avec laquelle le contenu de ton portefeuille est décrypté, et qui sert également de signature pour confirmer les transactions ou les paramètres.

La clé publique, quant à elle, peut être communiquée et sert à envoyer des cryptomonnaies, ou à se faire envoyer des cryptomonnaies. Découvre plus d’informations dans l’article dédié aux clés de portefeuille.

En rapport