Qu'est-ce que la cryptographie et quel est son rôle dans Bitcoin ?
La cryptographie est au croisement de nombreux services disponibles avec l’informatique moderne comme la connexion sécurisée à Internet, le chiffrement des mots de passe ou même le chiffrement des transactions de cryptomonnaies. Toutes ces utilisations ont un dénominateur commun : la confidentialité et la sécurité. Découvrez les origines de la cryptographie, ses composantes principales ainsi que son utilité au sein de Bitcoin.
Acheter Bitcoin (BTC)
Publicité eToro
C’est quoi la cryptographie ?
La cryptographie est une technique qui repose le plus souvent sur des concepts mathématiques avancés. Elle permet de stocker et de transmettre des données de manière confidentielle, de telle sorte que seules les personnes autorisées puissent les comprendre.
Le besoin de confidentialité ne date pas d’hier. En effet, l’utilisation de la cryptographie remonte à plusieurs civilisations anciennes qui utilisaient des techniques de chiffrement qu’on appelle substitution mono-alphabétique (remplacement d’un symbole par un autre) pour protéger des informations.
L'une des premières traces connues de cryptographie se trouve dans les écrits égyptiens antiques et mésopotamiens, datant d'il y a environ 3 900 ans. Dans les premiers cas, le remplacement de symboles avait pour but de renforcer l'aspect linguistique plutôt que de dissimuler des informations. Ensuite, des scribes mésopotamiens utilisaient la cryptographie pour dissimuler des formules de glaçure de poterie sur des tablettes d'argile.
Plus tard, les militaires ont largement adopté la cryptographie pour sécuriser des informations vitales. À Sparte, par exemple, les messages étaient chiffrés en utilisant un cylindre spécifique, appelé Scytale. On sait également que des espions de l'Inde antique utilisaient des messages codés dès le IIe siècle av. J.-C.
Figure 1 : Exemple de modèle de Scytale
Les Hébreux utilisaient le chiffrement Atbash, où chaque lettre était remplacée par celle à l'autre bout de l'alphabet (A devenait Z, B devenait Y, et ainsi de suite). Une autre méthode très populaire, appelée chiffrement de César en hommage à Jules César, consistait à décaler chaque lettre d'un certain nombre de places dans l'alphabet.
Bien que ces méthodes aient des faiblesses, elles étaient populaires en raison de leur facilité d'utilisation. Le chiffrement de César a même inspiré des techniques plus complexes visant à rendre les communications encore plus sécurisées.
Depuis, de nombreux systèmes de cryptographie se sont développés notamment grâce à l’explosion de l’ère de l’informatique moderne.
Pour résumer, la cryptographie a 4 missions majeures :
- Confidentialité : Seuls les utilisateurs autorisés peuvent accéder aux informations ;
- Intégrité : Elle assure l'absence de manipulation des données ;
- Non-répudiation : Elle empêche un utilisateur de révoquer ou de désavouer des actions ou engagements précédents ;
- Authentification : Elle valide l'authenticité des données ou l'identité d'un utilisateur.
💡 Formez-vous à la technologie blockchain avec l'école Alyra
Formez-vous avec Alyra pour intégrer l'écosystème blockchainC’est quoi la cryptographie symétrique ?
Le chiffrement symétrique est une méthode qui repose sur l'utilisation d'une seule clé secrète pour à la fois chiffrer et déchiffrer les informations.
Cette technique, la plus courante en cryptographie, consiste à chiffrer le contenu d'un message avec une clé secrète pour le rendre illisible sans cette dernière. Les exemples d'algorithmes de chiffrement symétrique incluent AES, DES, RC4, RC5, et RC6, parmi d'autres.
Figure 2 : Schéma du processus de chiffrement/déchiffrement symétrique
Dans le chiffrement symétrique, il est essentiel que l'expéditeur et le destinataire partagent la même clé secrète pour sécuriser et déchiffrer les données. Bien que rapide et efficace, cette méthode présente l'inconvénient que toutes les parties impliquées doivent préalablement s'échanger la clé secrète, sur un canal sécurisé et authentifié.
C’est quoi la cryptographie asymétrique ?
La cryptographie asymétrique, aussi appelée cryptographie à clé publique, représente une méthode de chiffrement utilisant une paire de clés distinctes pour le processus de chiffrement et de déchiffrement des données.
Cette paire de clés inclut une clé publique, destinée à être partagée librement, et une clé privée, conservée secrète par son propriétaire.
Dans ce contexte, l'expéditeur emploie la clé publique du destinataire pour chiffrer les données, tandis que le destinataire utilise sa clé privée pour déchiffrer ces données. Cette approche permet une communication sécurisée entre deux parties, sans qu’il n’y ait besoin de partager une clé secrète commune. Cette élimination de partage de clé secrète est le principal atout de la cryptographie asymétrique, car ce processus peut s’avérer complexe, notamment lors de communications avec plusieurs parties.
Figure 3 : Schéma du processus de chiffrement/déchiffrement asymétrique
De plus, la cryptographie asymétrique permet la création de signatures, servant à vérifier l'authenticité des données. Elle est couramment utilisée dans de nombreuses applications, comme les signatures numériques et le transfert sécurisé de données. Cela permet de fournir la non-répudiation, c'est-à-dire que l'expéditeur des données ne peut pas nier le fait qu'il a bien envoyé ces données.
En effet, les données sont chiffrées avec la clé privée de l'expéditeur et ne peuvent être déchiffrées qu'à l'aide de sa clé publique, ce qui garantit l'origine des données. Parmi les exemples d'algorithmes de cryptographie asymétrique, on peut citer RSA, DSA et la cryptographie par courbe elliptique (ECC).
Bien qu'elle garantisse une sécurité renforcée, il convient de noter que la cryptographie asymétrique peut être moins rapide que la cryptographie symétrique, en raison de ses opérations mathématiques plus complexes. Toutefois, elle demeure indispensable pour garantir des communications et des échanges de données sécurisés.
Cryptoast Academy : 75% de réduction avant le Black Friday pour fêter le bullrunC’est quoi la cryptographie hybride ?
Le chiffrement hybride, comme le laisse penser son nom, tire parti des avantages de la cryptographie asymétrique et de la cryptographie symétrique.
La cryptographie asymétrique est généralement lente en raison de la complexité de ses calculs, tandis que la cryptographie symétrique se démarque par sa rapidité, mais un peu moins par sa nécessité de partage de clé qui peut poser le problème du canal authentifié et sécurisé.
Le processus de chiffrement hybride s'articule autour de 4 étapes :
- la création d'une clé symétrique ;
- le chiffrement des données à l'aide de cette clé ;
- le chiffrement de la clé symétrique avec une clé publique ;
- puis l'envoi conjoint des données chiffrées et de la clé chiffrée.
La clé symétrique est généralement générée de manière aléatoire, bien qu'elle puisse aussi résulter d'un accord secret. Les données chiffrées et la clé chiffrée sont ensuite envoyées au destinataire, qui peut les déchiffrer en utilisant sa clé privée ainsi que l'algorithme symétrique.
L'efficacité du chiffrement symétrique combinée à l'échange sécurisé de clés asymétriques en fait une solution adaptée aux besoins de chiffrement, que ce soit pour de petites ou de grandes quantités de données. À titre d’exemple, si nous chiffrons 1 Mo de données, en utilisant uniquement la technique asymétrique RSA, cela nécessiterait plus de 5 500 opérations coûteuses en termes de performances.
En revanche, en utilisant la cryptographie hybride, une seule opération RSA est nécessaire pour la clé symétrique, tandis que le reste peut être réalisé efficacement avec la rapidité de la cryptographie symétrique telle qu'AES.
C'est pour cela que les schémas de chiffrement hybrides sont largement utilisés dans diverses applications nécessitant une transmission sécurisée et efficace des données comme les protocoles SSL et TLS, utilisés pour naviguer sur le Web en faisant appel au chiffrement hybride pour établir une connexion sécurisée entre un client et un serveur.
C’est quoi une fonction de hachage ?
Une fonction de hachage transforme un ensemble de données, qu'il soit petit ou volumineux, en ce qu'on appelle une empreinte, et ces transformations sont irréversibles, ce qui signifie qu'il est impossible de reconstruire les données d'origine à partir de l'empreinte.
La principale utilisation des fonctions de hachage réside dans la vérification de l'intégrité des données. En pratique, même une modification minime des données entraînera une empreinte complètement différente de celle de l'ensemble de données initial.
Figure 4 : Schéma du processus de hachage
Cependant, il peut sembler paradoxal que des hackers parviennent parfois à cracker des mots de passe hachés. Il existe plusieurs techniques pour retrouver l’entrée d’une empreinte, mais elles ne sont efficaces que sur d'anciennes fonctions de hachage telles que MD5 ou NTLM.
Voici les différentes méthodes potentielles pour trouver une empreinte par collision :
- La méthode de l'attaque par force brute consiste à générer toutes les combinaisons possibles d'une chaîne de caractères pour une longueur donnée. Cette approche est extrêmement longue ;
- L'utilisation d'un dictionnaire implique l'utilisation de mots provenant d'un dictionnaire existant. Bien que plus pertinente que l'attaque par la force brute, cette méthode nécessite beaucoup de temps et de stockage ;
- Les tables arc-en-ciel (rainbow tables) consistent en la recherche d'empreintes correspondantes dans une table précalculée, offrant un compromis entre le temps et l'espace.
👉 En savoir plus sur les fonctions de hachage et leurs cas d'usage
La cryptographie dans le cas de Bitcoin
Bitcoin repose sur une combinaison astucieuse de divers systèmes de cryptographie qui forme son fonctionnement. L'assemblage de ces différentes méthodes cryptographiques constitue les rouages essentiels qui garantissent le bon fonctionnement du réseau. Il est évident que Satoshi Nakamoto n'a rien laissé au hasard dans cette conception.
💡Suivez notre guide pour acheter de Bitcoin simplement
Trade Republic : acheter des cryptos et des actions en 5 minutesCryptographie à Courbes Elliptiques (ECDSA)
La cryptographie à Courbes Elliptiques présente toutes les fonctionnalités de la cryptographie asymétrique, notamment le chiffrement, le déchiffrement et la signature. Elle est devenue populaire ces dernières années en raison de son équivalence en termes de sécurité avec le chiffrement RSA, tout en offrant des performances supérieures en termes de vitesse d’exécution. C'est la raison pour laquelle elle est employée non seulement pour créer les paires de clés Bitcoin, qui comprennent une clé publique et une clé privée, mais également pour générer des signatures permettant de vérifier l'authenticité et l'intégrité des transactions. De cette manière, seuls les détenteurs de la clé privée peuvent utiliser leurs bitcoins en toute sécurité.
Pour créer une clé privée Bitcoin, un nombre aléatoire est généré, choisi dans l'intervalle de 1 à 2^256, ce qui équivaut à environ le nombre d'atomes estimé dans l'univers. Il est donc extrêmement peu probable d'obtenir la même clé privée que quelqu'un d'autre.
De plus, Satoshi Nakamoto a opté pour une équation de courbe elliptique, nommée secp256k1, qui n'avait jamais été utilisée auparavant. Ce choix a été fait pour optimiser la vitesse en fonction de l'implémentation, et cette courbe est environ 30 % plus rapide que les autres.
Ce qui rend ce choix encore plus intéressant, c'est qu'à l'époque de la publication du whitepaper de Bitcoin en 2008, et même aujourd'hui, la courbe secp256r1 créée par la NSA était très populaire et recommandée. Néanmoins, de nombreuses personnes avaient des doutes concernant cette courbe en raison de son manque de transparence sur le choix de ses paramètres, ce qui a alimenté les soupçons qu'elle pourrait comporter une éventuelle backdoor.
En réalité, l'avantage de la courbe secp256k1, sans entrer dans les détails techniques, réside dans ses paramètres qui réduisent un maximum la possibilité d'une backdoor. Cela suggère que Satoshi Nakamoto était très informé en matière de cryptographie, renforçant l'idée qu'il était un véritable cypherpunk.
La fonction de hachage SHA-256
Bitcoin repose sur la fonction de hachage SHA-256 pour diverses opérations, notamment la plus cruciale, qui est utilisée dans l'implémentation du mécanisme de preuve de travail (Proof of Work). Pour miner un nouveau bloc de Bitcoin, les mineurs doivent résoudre un problème mathématique complexe qui nécessite de trouver un hash. La seule façon de résoudre ce problème est d'essayer différentes valeurs jusqu'à ce qu'un hash valide soit trouvé, ce qui nécessite une grande quantité de puissance de calcul.
Les propriétés de SHA-256 confèrent à Bitcoin la capacité de rendre les transactions immuables une fois intégrées dans un bloc, car cette dernière est utilisée pour calculer la racine de l'arbre de Merkle. Cette opération permet de regrouper toutes les transactions d'un bloc en un seul hachage, qui est ensuite inclus dans l'entête du bloc, accompagné du résumé de toutes les transactions contenues dans ce bloc.
Chaque nouveau bloc créé contient donc le hachage du bloc précédent, d'où l'origine du terme « chaîne de blocs » (blockchain). Cela garantit que les données et les transactions enregistrées dans la blockchain Bitcoin sont sécurisées contre toute altération rétroactive.
Finalement, SHA-256 est populaire en raison de son équilibre entre coût de calcul et sécurité, attribué à sa capacité élevée de résistance aux collisions. Quelle que soit la taille du contenu haché, la fonction SHA-256 génère toujours un hachage de longueur constante de 256 bits. Cela signifie que vous hachez une virgule ou l'intégralité de la littérature mondiale, le résultat du hachage aura toujours une longueur fixe.
💡 Approfondissez vos connaissances de l'écosystème des cryptomonnaies avec Cryptoast Research
Cryptoast Academy : 75% de réduction avant le Black Friday pour fêter le bullrunQuestions fréquentes sur la cryptographie
✅ Les ordinateurs quantiques peuvent-ils casser des systèmes de cryptographie utilisés dans Bitcoin ?
Des chercheurs ont calculé la taille nécessaire d'un ordinateur quantique capable de casser un chiffrement de courbe elliptique de 256 bits. Dans le cas de Bitcoin, cela nécessiterait l’utilisation de plusieurs milliers de qubits sur une période relativement courte. À titre de comparaison, le plus grand supercalculateur quantique d'IBM dispose actuellement de 127 qubits. Néanmoins, de nombreuses entreprises s'efforcent de développer davantage de qubits, et si l'une d'entre elles réussissait, Bitcoin devrait éventuellement remplacer ECDSA par un autre algorithme de signature numérique résistant aux ordinateurs quantiques.
✅ Quelle cryptographie est utilisée dans Ethereum ?
Ethereum utilise un système similaire à Bitcoin, basé sur la cryptographie à clé publique et à clé privée. Cependant, Ethereum se distingue en utilisant la fonction de hachage Keccak-256 dans diverses opérations.
✅ Y a-t-il d'autres types de cryptographie utilisés dans la blockchain ?
Plus récemment, des solutions telles que Starknet, zkSync, ou même le protocole Tornado Cash ont émergé, faisant usage de crypto-systèmes comme les zk-SNARK et zk-STARK. Ces derniers sont des exemples de preuves à divulgation nulle de connaissances qui sont relativement nouvelles en matière de cryptographie.
💡zk-SNARK et zk-STARK – Qu'est-ce que c'est et quelles sont leurs différences ?
Sources – Figure 2 et 3 : SSL2BUY ; Figure 4 : The SSL Store
Recevez un récapitulatif de l'actualité crypto chaque jour par mail 👌
Certains liens présents dans cet article peuvent être affiliés. Cela signifie que si vous achetez un produit ou que vous vous inscrivez sur un site depuis cet article, notre partenaire nous reverse une commission.
Les investissements dans les crypto-monnaies sont risqués. Il n’existe pas de rendement élevé garanti, un produit présentant un potentiel de rendement élevé implique un risque élevé. Cette prise de risque doit être en adéquation avec votre projet, votre horizon de placement et votre capacité à perdre une partie de cette épargne. N’investissez pas si vous n’êtes pas prêt à perdre tout ou partie de votre capital