Les signatures numériques jouent un rôle central dans la sécurité des crypto-monnaies. Nous expliquons ici leur rôle dans l’authentification et comment la cryptographie a façonné les crypto-monnaies.
Qu’est-ce qu’une signature numérique ?
Si quelqu’un veut prouver qu’un message a été créé par lui, il peut créer une signature numérique sur le message afin que d’autres puissent le vérifier.
![Qu'est-ce qu'une signature numérique ?](https://contenthub-static.crypto.com/wp_media/2022/03/image7-2.png)
Les systèmes de signature numérique utilisent généralement des cryptosystèmes asymétriques (tels que RSA ou ECC) et des fonctions de hachage. Consultez cet article sur la cryptographie si vous souhaitez en savoir plus sur ces termes.
Les signatures numériques sont aujourd’hui largement utilisées dans l’industrie commerciale et financière, par exemple pour autoriser les paiements bancaires, échanger des documents électroniques signés, signer des transactions dans les systèmes de blockchain publics, signer des contrats numériques, et dans de nombreux autres scénarios.
Fonctionnement des signatures numériques
Reprenons l’exemple de l’amour clandestin entre Alice et Bob, notre couple de cryptomonnaies préféré qui figure dans nombre de nos articles.
Alice veut finalement rompre avec Bob car elle ne peut plus tolérer leur amour secret. Elle a écrit le message “Let’s break up” (qui se traduit par “9394” dans la “Nerd Planet”). Elle craint que Bob ne pense que le message ne vient pas vraiment d’elle (peut-être que la femme de Bob a découvert leur relation et a volé le compte d’Alice pour écrire le message). Elle souhaite donc joindre le message à une signature numérique et l’envoyer à Bob afin que ce dernier croie que le message provient d’elle.
![Fonctionnement des signatures numériques](https://contenthub-static.crypto.com/wp_media/2022/03/image5-3.png)
![Fonctionnement des signatures numériques](https://contenthub-static.crypto.com/wp_media/2022/03/image4-3-711x1024.png)
En utilisant l’exemple ci-dessus, nous espérons que le lecteur peut comprendre à quoi servent les signatures numériques et pourquoi elles permettent de s’assurer qu’un message provient bien de son expéditeur. Les signatures numériques combinent astucieusement la cryptographie symétrique et asymétrique avec les fonctions de hachage, et l’invention a permis une large gamme d’applications nécessitant une communication sécurisée et une vérification d’identité.
Utilisation de la cryptographie dans les crypto-monnaies
Les crypto-monnaies sont appelées “crypto” parce qu’elles utilisent la cryptographie. Dans cette section, nous verrons comment cela fonctionne en prenant l’exemple du bitcoin.
Comment fonctionnent les transactions en bitcoins ?
Nous avons un cours 101 sur le fonctionnement du bitcoin et de ses transactions. Nous allons voir ici ce qui se passe à l’intérieur des transactions pour comprendre l’utilisation de la cryptographie dans le bitcoin.
La sortie d’une transaction contient deux champs :
1) un champ de valeur pour le montant du transfert en satoshis
2) un script pubkey indiquant les conditions à remplir pour que ces satoshis puissent être dépensés ultérieurement
Les figures ci-dessous illustrent le flux de travail d’Alice pour envoyer à Bob une transaction que Bob utilise ensuite pour dépenser cette transaction. Alice et Bob utiliseront la forme la plus courante du type de transaction P2PKH (Pay-To-Public-Key-Hash). P2PKH permet à Alice de dépenser des satoshis à une adresse Bitcoin typique et permet ensuite à Bob de dépenser ces satoshis à l’aide d’une simple paire de clés cryptographiques.
![Comment fonctionnent les transactions en bitcoins ?](https://contenthub-static.crypto.com/wp_media/2022/03/image1-6.png)
Plus tard, Bob décide de dépenser l’UTXO d’Alice :
![Comment fonctionnent les transactions en bitcoins ?](https://contenthub-static.crypto.com/wp_media/2022/03/image6-3-596x1024.png)
Le minage de Bitcoin et la preuve de travail pour vérifier les transactions
Les bitcoins sont créés par l’exploitation minière. Lorsqu’une transaction est créée, elle est marquée comme “non confirmée”. Les mineurs collectent un ensemble de transactions non confirmées et tentent de créer un bloc contenant des transactions. Pour créer un bloc dans la blockchain, le mineur doit résoudre un problème cryptographique complexe dont l’entrée est le bloc et la solution est une séquence de nombres à l’intérieur du bloc, appelée nonce. Ce processus de recherche du nonce s’appelle le minage de bitcoins et il s’agit d’un processus concurrentiel auquel participent de nombreux mineurs dans le monde entier.
Il existe de nombreux paramètres fixes pour le bloc en bitcoin, tels que le hachage du bloc précédent, les caractéristiques des transactions dans le bloc actuel, etc. Il n’y a qu’un seul paramètre qui peut être modifié, appelé le nonce. Le travail du mineur consiste à trouver le nonce qui peut rendre le bloc candidat satisfaisant à l’objectif de difficulté. La seule façon de trouver le nonce est d’essayer différentes valeurs possibles pour le nonce, de calculer le hachage du nouveau bloc (id de hachage du dernier bloc | bloc avec transactions | nonce, où “|” signifie concaténer) et de vérifier si le hachage satisfait à l’objectif de difficulté (obtenir une chaîne de caractères précédée d’un certain nombre de zéros).
La tâche du mineur est la suivante :
![Image2 5](https://contenthub-static.crypto.com/wp_media/2022/03/image2-5.png)
La preuve de travail de Bitcoin utilise deux hachages SHA-256 successifs et exigeait à l’origine qu’au moins les 32 premiers des 256 bits de hachage soient nuls. Cependant, le réseau bitcoin réinitialise périodiquement le niveau de difficulté afin de maintenir le taux moyen de création de blocs à 10 minutes.
Mettre la crypto dans la crypto-monnaie
Nous espérons que vous comprenez maintenant clairement comment les signatures numériques fonctionnent dans le cadre de la cryptographie et, bien sûr, pourquoi la cryptographie s’appelle “crypto” ! Qu’il s’agisse de ses systèmes de sécurité profondément tissés et soigneusement élaborés ou de sa capacité à garantir la confiance des destinataires, la cryptographie est un système incroyablement fascinant, malléable – dans l’utilisation, pas dans la sécurité – et futuriste, qui offre de nombreuses possibilités de progrès. Le bitcoin n’est qu’un début.
Si vous souhaitez approfondir le sujet de la cryptographiePour en savoir plus, lisez aussi notre article à ce sujet. Nous y examinons l’évolution de la cryptographie, son fonctionnement, ses systèmes de sécurité puissants et ses utilisations potentielles.
Références
1. Alrammahi, M & Kaur, H. (2014). Développement de l’algorithme de cryptographie AES (Advanced Encryption Standard) pour le protocole de sécurité Wi-Fi. 10.13140/RG.2.2.20993.97124.
2. Chiffres symétriques (n.d.). Extrait de https://www.crypto-it.net/eng/symmetric/index.html
3. Menezes, A. J., C., V. O. P., & Vanstone, S. A. (2001). Chiffres de flux. In Handbook of applied cryptography (pp.191- 216). Boca Raton : CRC Press.
4. Symmetric ciphers (n.d), Consulté sur https://www.crypto-it.net/eng/symmetric/index.html
5. Kessler G.C (Nov 2019), Aperçu de la cryptographie. Extrait de https://www.garykessler.net/library/crypto.html#types
6. Lane Wagner (juin 2018). (Très) Cryptographie de base à courbe elliptique. Extrait de https://blog.goodaudience.com/very-basic-elliptic-curve-cryptography-16c4f6c349ed
7. Cryptography Hash functions (n.d.) Consulté sur https://www.tutorialspoint.com/cryptography/cryptography_hash_functions.htm