secp256k1 se refiere a los parámetros de la curva elíptica utilizados en la criptografía de clave pública de Bitcoin, que está definida en los Estándares para la Criptografía Eficiente (SEC), con referencia a Certicom Research:El inicio de sesión del hipervínculo es visible.。 Actualmente, los algoritmos secp256k1 y ECDSA se utilizan en Bitcoin. Originándose en la aplicación en Bitcoin, la mayoría de los proyectos blockchain como Ethereum se utilizan posteriormente.
Antes de Bitcoin, secp256k1 casi nunca se usaba, pero ahora se está haciendo cada vez más popular debido a sus varias características interesantes. Las curvas más comúnmente usadas tienen una estructura estocástica, pero secp256k1 está construida de una manera especial y no aleatoria, lo que permite cálculos eficientes. Si está totalmente optimizado, suele ser más del 30% más rápido que otras curvas. Además, a diferencia de las populares curvas NIST, las constantes de secp256k1 se seleccionan de forma predecible, lo que reduce significativamente la probabilidad de que los creadores de curvas inserten cualquier tipo de software backdoor en la curva.
Firmas digitales
El núcleo de la firma digital es la firma de claves privadas y la verificación de claves públicas; La firma es el proceso de usar la clave privada para firmar los datos y generar el valor de la firma, y la verificación de firma es el proceso de recuperar la clave pública de la firma. Las firmas digitales tienen tres usos en Ethereum. Primero, la firma demuestra que el propietario de la clave privada implica que el titular de la cuenta de Ethereum ha autorizado el pago de ether o la ejecución del contrato. Segundo, la prueba de autorización es _innegable_ (innegable). Tercero, la firma demuestra que los datos de la transacción no han sido ni pueden ser modificados por nadie después de la firma.
La criptografía detrás de las 20 principales criptomonedas
Dirección:El inicio de sesión del hipervínculo es visible.
C# utiliza BouncyCastle.Cryptography para generar pares de curvas elípticas SECP256K1 claves
Como se muestra a continuación:
Clave privada: C66C343A5CD1A1D25B24A47D71047442EFED87DE12933779B1DAD914401776B5 Clave pública: 04C99FE3CDC4D0025CFA1CC0BC6401FF273ABC4C86EB912F4325D286C5162A2D21D7DF76C3E79CF4F7C2183F0E230D187B26BC8A5FCA2436EA91AC72B8EC0F4651
El código es el siguiente:
C# utiliza Nethereum.Signer para generar pares de claves
El código es el siguiente:
Revisión:
Referencia:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible. |