La cryptographie asymétrique est une méthode appliquée pour assurer l’intégrité, confidentialité, sécurité d’une donnée ou transaction Bitcoin.

En tant que crypto-monnaie, cela souligne l’importance de la cryptographie dans la conception du Bitcoin. Sans cryptographie, le Bitcoin n’aurait pas pu exister.

La cryptographie est la science de la communication sécurisée en présence d’adversaires, qui peuvent écouter et même contrôler le canal de communication. La cryptographie classique (symétrique) concerne le cryptage. C’est-à-dire, convertir un message en un texte chiffré.

Un texte chiffré est un non-sens apparent pour l’adversaire qui écoute sur le canal de communication, mais le destinataire sait comment le traduire au message original.

Les cryptographes recommandent que l’algorithme de cryptage soit rendu public et que seule la clé de chiffrement soit gardée secrète. Ceci est connu comme le principe de Kerckhoffs. La raison principale de ce système est de créer un moyen facile de créer un algorithme de chiffrement qui ne peut pas être brisé par son créateur. Mais il est très difficile de faire un algorithme de chiffrement qui ne puisse pas être brisé par une personne dans le monde, car il y a une forte probabilité qu’il y ait quelqu’un de plus intelligent ou de plus imaginatif dans le monde.

Rendre un algorithme de cryptage public et le soumettre à l’examen de la communauté cryptographique est donc une bonne idée. Une devise du principe de Kerckhoffs est de rendre public l’algorithme cryptographique, mais garder les clés de chiffrement privées. La plupart des premiers travaux en cryptographie ont été effectués sur des chiffrements symétriques. Un exemple très ancien est le chiffrement de César. Le but des chiffrements symétriques est de chiffrer un message en texte chiffré en utilisant la clé secrète de sorte que le message original puisse être lu seulement si la clé secrète est connue. Un bon chiffrement symétrique ne doit laisser échapper aucune information sur le message ou la clé secrète. Le chiffre de César peut être utilisé comme un chiffrement symétrique, où la clé secrète correspond au nombre de places à décaler dans l’alphabet.

Mis à part le fait que la clé secrète est très petite (il n’y a que 26 clés possibles, le nombre de lettres dans l’alphabet), ce n’est pas un très bon chiffrement symétrique car cela laisse beaucoup d’informations sur le message. Il permet à l’adversaire de connaître la longueur du message et la fréquence de certaines lettres dans le message. Cette information est suffisante dans la plupart des cas pour casser le message chiffré. Un chiffrement symétrique idéal est celui qui produit un texte chiffré impossible à distinguer d’une génération aléatoire.

Le système cryptographique à clé publique, plus communément appelé chiffrement asymétrique a été développée au cours des années 1970 par Diffe, Hellman et Merkle. Bitcoin n’utilise pas d’algorithmes de chiffrement à clé publique, mais un système qui s’en rapproche appelé : signatures numériques.

La cryptographie à clé publique a été développée en réponse à une faiblesse importante du chiffrement symétrique: la distribution des clés. Lorsque deux personnes utilisent un cryptage symétrique, elles doivent s’assurer au préalable qu’elles partagent toutes deux la même clé symétrique: elles doivent échanger les clés via un canal sécurisé avant d’utiliser le système de chiffrement symétrique.

Cependant, il existe de nombreuses situations dans lesquelles il n’est pas possible d’échanger la clé symétrique via un canal sécurisé, tel que le commerce électronique. Internet est un canal peu sûr: le trafic peut être intercepté et même modifié en transit. Par conséquent, il est impossible d’établir une connexion sécurisée via Internet en utilisant uniquement un chiffrement symétrique. Le chiffrement à clé publique a été développé pour résoudre ce problème. Une analogie pour le chiffrement à clé symétrique est celle d’un coffre-fort avec une clé. Dans le cadre d’un chiffrement symétrique, la clé peut être utilisée à la fois pour verrouiller le coffre-fort (chiffrer) et pour déverrouiller le coffre-fort (déchiffrer).

Pour le chiffrement asymétrique, la clé publique ne peut être utilisée que pour verrouiller le coffre-fort (chiffrer), tandis que l’autre clé, la clé privée, ne peut être utilisée que pour déverrouiller le coffre-fort (déchiffrer).

Comment le chiffrement par clé publique résout-il le problème de distribution des clés?

Le point important à noter est que seule la clé privée (la clé qui déverrouille le coffre) doit être gardée secrète. Il est toutefois parfaitement sûr de publier la clé publique (la clé qui verrouille le coffre-fort), car plus cette clé est publiée, plus il est facile pour une autre partie d’avoir accès à cette clé et de l’utiliser pour communiquer. La personne peut donc chiffrer son message avec votre clé publique et seulement vous et personne d’autre, pouvez déchiffrer le message.

Son usage dans le bitcoin

Les considérations et concepts de base dans Bitcoin sont basés sur la cryptographie asymétrique. La partie importante de la cryptographie vu, par exemple au nom alternatif ( « crypto-monnaie »), mais aussi dans le fait que Satoshi Nakamoto a initialement publié son concept de monnaie numérique à une liste de diffusion pour les personnes intéressées par la cryptographie.

La cryptographie asymétrique est caractérisée en contraste avec les procédés symétriques par le fait que chaque participant identifié une paire de clés constituée d’une clé publique et une clé privée. Bien que la clé privée doit être gardée secrète en toutes circonstances, la clé publique devrait être largement distribuée. Dans le cas de la cryptographie asymétrique pour les courriels, par exemple, il existe des serveurs de clés distincts sur lesquels la clé publique peut être stockée pour que tout le monde puisse vérifier publiquement la clé d’un autre. Les utilisateurs de communication peuvent utiliser ces serveurs de clés comme un annuaire téléphonique et rechercher des clés publiques pour une personne en particulier.

L’interaction de ces deux clés est maintenant adapté pour différentes applications telles que les serveurs d’authentification, le chiffrement de contenu ou de signer numériquement le contenu et donc de prouver qu’un message d’une personne en particulier vient.

Supposons qu’Alice veuille envoyer un message à Bob. Le message a un contenu important et devrait donc être transmis sous forme cryptée. Pour cela Alice doit d’abord être en possession de la clé publique de Bob. Avec la clé publique de Bob, Alice peut désormais chiffrer son message de manière à permettre à Bob, à l’aide de sa clé privée, de déchiffrer le message. La séquence simplifiée de cryptage utilisant la cryptographie asymétrique est illustrée par le Schéma ci-dessous.

Bien que cette méthode de chiffrement ne s’applique pas pour le Bitcoin, il s’appui néanmoins sur des caractéristiques de cette méthode. Des parties significatives de l’architecture Bitcoin sont basées sur des signatures numériques. Une signature numérique peut être utilisée pour s’assurer qu’un contenu provient réellement d’une personne spécifique. Le Schéma ci-dessous montre comment Alice peut prouver à Bob qu’elle est l’expéditeur du message. Alice crée un message qu’elle aimerait soumettre à Bob. En utilisant sa clé privée, elle peut signer ce message (ou, en d’autres termes, le signer numériquement) et s’identifier comme expéditeur.

Lorsque Bob reçoit le message, il peut utiliser la clé publique d’Alice pour vérifier la signature. En cas de succès, Bob peut supposer que ce message sur la route Alice-to-Bob ne peut être modifié par personne d’autre.

Il est important de comprendre que les signatures numériques et le cryptage ne sont pas la même chose, le premier permet de vérifier l’expéditeur pour être sûr de la source alors que le deuxième permet de « cacher » le contenu du message. Ils viennent souvent en combinaison pour une utilisation.