secp256k1 fait référence aux paramètres de la courbe elliptique utilisés dans la cryptographie à clé publique de Bitcoin, définis dans les Standards for Efficient Cryptography (SEC), en référence à Certicom Research :La connexion hyperlientérée est visible.。 Actuellement, les algorithmes secp256k1 et ECDSA sont utilisés dans Bitcoin. Issu de l’application dans Bitcoin, la plupart des projets blockchain comme Ethereum sont utilisés plus tard.
Avant Bitcoin, secp256k1 n’était presque jamais utilisé, mais il gagne désormais en popularité grâce à ses nombreuses fonctionnalités intéressantes. Les courbes les plus couramment utilisées ont une structure stochastique, mais secp256k1 est construite de manière spéciale et non aléatoire, permettant des calculs efficaces. Si elle est entièrement optimisée, elle est généralement plus de 30 % plus rapide que les autres courbes. De plus, contrairement aux courbes populaires du NIST, les constantes de secp256k1 sont sélectionnées de manière prévisible, ce qui réduit considérablement la probabilité que les créateurs de courbes insèrent un logiciel de porte dérobée dans la courbe.
Signatures numériques
Le cœur de la signature numérique est la signature de clés privées et la vérification des clés publiques ; La signature est le processus d’utilisation de la clé privée pour signer les données afin de générer la valeur de la signature, et la vérification de la signature est le processus de récupération de la clé publique à partir de la signature. Les signatures numériques ont trois usages dans Ethereum. Premièrement, la signature prouve que le propriétaire de la clé privée implique que le propriétaire du compte Ethereum a autorisé le paiement de l’ether ou l’exécution du contrat. Deuxièmement, la preuve d’autorisation est _indéniable_ (indéniable). Troisièmement, la signature prouve que les données de la transaction n’ont pas été et ne peuvent pas être modifiées par quiconque après la signature de la transaction.
La cryptographie derrière les 20 principales cryptomonnaies
Adresse:La connexion hyperlientérée est visible.
C# utilise BouncyCastle.Cryptography pour générer des paires de courbes elliptiques SECP256K1 de clés
Comme montré ci-dessous :
Clé privée : C66C343A5CD1A1D25B24A47D71047442EFED87DE12933779B1DAD914401776B5 Clé publique : 04C99FE3CDC4D0025CFA1CC0BC6401FF273ABC4C86EB912F4325D286C5162A2D21D7DF76C3E79CF4F7C2183F0E230D187B26BC8A5FCA2436EA91AC72B8EC0F4651
Le code est le suivant :
C# utilise Nethereum.Signer pour générer des paires de clés
Le code est le suivant :
Révision:
Référence:
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible. |