ECDSA signifie Algorithme de signature numérique à courbe elliptique (Algorithme de signature numérique à courbe elliptique). Ce système est utilisé pour créer une signature numérique qui permet la vérification par des tiers sans compromettre la sécurité.
Les bases de l'ECDSA
Le fonctionnement mathématique et algorithmique de l'ECDSA est assez complexe. Pour commencer, L'ECDSA fonde son fonctionnement sur la base d'une équation mathématique qui trace une courbe. Le processus, en gros, serait le suivant:
Cliquez ici pour ouvrir votre compte utilisateur en espagnol GRATUITEMENT et en toute sécurité et recevoir un cadeau de 15 €.
El algorithme ECDSA fonctionne grâce à un mécanisme de la cryptographie appelé, la cryptographie asymétrique. Ce système de signature génère deux clés appelées clé privée et clé publique. Les deux touches sont liées par une opération mathématique complexe effectuée sur une fonction de courbe elliptique.
Dans le cadre de ce schéma opérationnel, l'ECDSA garantit d'abord ce qui suit:
- Signatures uniques et irremplaçables pour chaque génération de clés privées et public.
- L'impossibilité pratique de falsifier les signatures numériques. Il en est ainsi car la puissance de calcul nécessaire pour cela est en dehors des limites actuelles.
Grâce à ces deux caractéristiques, ECDSA est considéré comme un standard sécurisé pour le déploiement de systèmes de signature numérique. Leur utilisation est aujourd'hui si variée qu'elles sont appliquées dans presque tous les domaines informatiques. Par exemple, l'infrastructure de certificat de sécurité SSL y TLS Internet fait un usage intensif de l'ECDSA. Bitcoin, précurseur de la technologie blockchain, utilise également l'ECDSA pour atteindre le haut niveau de sécurité qui le caractérise.
Sur cette courbe, un point est choisi au hasard et est considéré comme son point d'origine.
Ensuite, un nombre aléatoire est généré, c'est précisément ce nombre aléatoire, que nous connaîtrons comme la clé privée.
Ensuite, en utilisant la clé privée et le point d'origine, vous effectuez une autre équation et nous obtenons un deuxième point sur la courbe, c'est votre clé publique. C'est précisément l'utilisation de cette nouvelle équation avec le point d'origine et la clé publique qui permet d'établir la relation entre les clés publique et privée.
Ce processus est considéré comme sûr, car pour le moment, il ne peut être effectué que dans une seule direction. Autrement dit, il est seulement possible d'établir la relation mathématique de la clé privée à la clé publique, mais pas au contraire.
De cette façon, lorsqu'un utilisateur souhaite signer un fichier, il utilisera sa clé privée (le nombre aléatoire) avec un hachage du fichier (un numéro unique pour représenter le fichier) dans une équation magique et qui vous donnera votre signature. Si quelqu'un veut vérifier la véracité des informations, il n'a besoin que de la clé publique et avec elle, il pourra vérifier l'authenticité.
Donc, clés publiques ils peuvent être connus de tous, sans mettre en péril l'authenticité de notre signature, puisque la clé publique ne sert qu'à vérifier, pas à signer.
Pourquoi utilisons-nous ECDSA?
La nécessité de créer un système de signature comme ECDSA découle de la possibilité de partager des données de manière sécurisée. Dans un monde connecté par des réseaux, un schéma est nécessaire dans lequel nous pouvons partager des informations et les valider. Tout cela sans avoir besoin de révéler des secrets. Voyons-le avec l'exemple suivant:
Une entreprise a fait un rapport économique sur ses activités. Ce rapport est fourni à certains investisseurs ayant un accès limité à l'information. Ces investisseurs souhaitent vérifier l'authenticité du rapport et des données fournies.
À ce stade, nous nous posons la question: l'administrateur vous donnera-t-il le code d'accès complet aux données de l'entreprise? Ou au contraire, ne donnerez-vous pas aux investisseurs accès aux informations pour qu'ils puissent les vérifier?
Les deux situations ne sont pas bonnes et l'utilisation d'ECDSA peut le résoudre grâce à une troisième approche:
L'administrateur utilise un système de signature asymétrique ECDSA. Avec cela, l'administrateur signe le rapport avec sa clé privée, et donne la clé publique aux investisseurs. Immédiatement après, les investisseurs peuvent vérifier, à l'aide de la clé publique, l'authenticité des informations proposées. Ceci sans avoir besoin d'un accès illimité aux données.
Clés et signatures privées et publiques
Le schéma opérationnel de l'ECDSA repose sur les trois piliers suivants:
- La clé privée, qui est en fait un numéro secret connu uniquement de la personne qui l'a générée. Une clé privée est essentiellement un nombre généré aléatoirement. Dans Bitcoin, quelqu'un avec la clé privée qui correspond aux fonds de la blockchain est le seul à pouvoir dépenser ces fonds.
- La clé publique, qui est un nombre généré à partir d'une relation mathématique à l'aide de la clé privée. Il ne peut être obtenu qu'en connaissant la clé privée à l'avance, et non l'inverse. Cette clé est générée dans le but d'être partagée publiquement afin que d'autres puissent déterminer si une signature est authentique.
La signature, en réalité, est simplement un numéro qui indique au vérificateur que l'opération de signature numérique a été effectuée avec succès. Une signature est générée mathématiquement à partir du hachage de ce qui doit être signé, plus une clé privée. La signature elle-même est composée de deux chiffres connus sous le nom de "r« Et »s«. Avec la clé publique, un algorithme mathématique peut être utilisé dans la signature. Le but est de déterminer ce qui a été produit à l'origine à partir du hachage et la clé privée. Un système qui fonctionne parfaitement, sans avoir besoin de connaître la clé privée.
Technologie ECDSA et blockchain
L'un des principaux problèmes auxquels vous avez été confronté Satoshi Nakamoto avec Bitcoin, c'était la distribution de clés publiques. La vision de Nakamoto était de permettre le partage de clés publiques petites, sécurisées, à faible coût de calcul et faciles à utiliser.
Ces caractéristiques seraient réalisables grâce à la cryptographie à courbe elliptique. C'est pourquoi Nakamoto a décidé d'utiliser ECDSA pour son système. Et avec cela, il a été assuré que:
- C'était un système très sécurisé. Satoshi a décidé d'utiliser le standard de la courbe elliptique secp256k1 pour Bitcoin. Cette courbe elliptique a une sécurité très bien prouvée, elle était donc parfaite à appliquer.
- Le coût de calcul de la génération des clés et de la validation des signatures est très faible.
- Il permet la génération de clés publiques infinies.
Cependant, les clés ECDSA 256 bits sont très longues. Compte tenu de cela, Nakamoto a décidé refactor clés publiques pour les raccourcir. C'était tellement utilisé Encodage Base58 y fonctions de hachage comme SHA-256 y MÛR MD-160, réduit la taille des clés publiques et créé le Adresses Bitcoin.
Par exemple cette adresse: 1PfS6w6MonCT976xe2jD9tqwo8QkDnonRW.
Tout cela s'est avéré, c'est un système informatique qui permettait à ses utilisateurs d'envoyer et de recevoir des bitcoins en toute sécurité.
Jouer avec ECDSA
Sur Internet, il existe de nombreux espaces où nous pouvons jouer et en apprendre un peu plus sur le fonctionnement de l'ECDSA. L'un de ces sites est le Github par Kenji Urushima.
urushima est un employé de Fuji Xerox au Japon. Dans votre page web dispose d'un outil interactif qui vous aide à comprendre le fonctionnement de l'ECDSA. Sur ce site, nous pouvons créer des clés privées et publiques et des signatures de message personnalisées. Expérimenter un peu peut être la clé pour comprendre un peu plus comment ce système de signature numérique fonctionne.
Cliquez ici pour ouvrir votre compte utilisateur en espagnol GRATUITEMENT et en toute sécurité et recevoir un cadeau de 15 €.