Saltar al contenido
ecdsa.com
AceptableWeierstrass corta

secp256k1

secp256k1 es la curva de Koblitz de 256 bits y² = x³ + 7 en la que se basa la seguridad de Bitcoin, Ethereum y Nostr.

secp256k1 es una curva de Weierstrass corta y² = x³ + ax + b sobre un campo primo de 256 bits, con un subgrupo de orden primo de 256 bits y cofactor 1; su nivel de seguridad estimado es de 128 bits. Estado: segura, pero regional o de nicho.

secp256k1 se define en SEC 2 sobre el primo p = 2^256 − 2^32 − 977 con a = 0 y b = 7. Su grupo de orden primo da unos 128 bits de seguridad, y a = 0 junto con p ≡ 1 (mod 3) proporciona el endomorfismo GLV, que acelera la multiplicación escalar. A diferencia de las curvas NIST, sus parámetros se eligieron por eficiencia en lugar de derivarse de una semilla.

Bitcoin la adoptó en 2009 para ECDSA, y el BIP 340 (Taproot) añadió firmas Schnorr sobre la misma curva; Ethereum firma con ella transacciones y mensajes, y los eventos de Nostr llevan firmas Schnorr del BIP 340. Ethereum (desde EIP-2) y la política de retransmisión de Bitcoin rechazan la forma high-s de las firmas ECDSA para descartar la maleabilidad: consulta low-s.

Fuera del mundo blockchain es poco común: el RFC 8422 la declaró en desuso para TLS (punto de código 22), JOSE (ES256K, RFC 8812) y COSE (algoritmo −47) la registran, y NIST SP 800-186 solo la permite para aplicaciones relacionadas con blockchain.

Nombres en los estándares

EstándarNombre
SEC 2secp256k1
JOSE / COSEsecp256k1

Identificadores de objeto

Parámetros de dominio

campo primo de 256 bits · seguridad de unos 128 bits

Primo del campo p
0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
Coeficiente a
0x0
Coeficiente b
0x7
Punto base x
0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
Punto base y
0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
Orden n del punto base
0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
Cofactor h
0x1

Se usa en

  • Bitcoin
  • Ethereum
  • Nostr
  • JOSE (ES256K)
  • COSE (ES256K)

Identificadores en registros

Grupos admitidos de TLS
secp256k1 0x0016
Algoritmos JOSE
ES256K
Curvas JWK
secp256k1
Algoritmos COSE
ES256K -47
Curvas elípticas COSE
secp256k1 8
Identificadores KEM de HPKE
DHKEM(secp256k1, HKDF-SHA256) 0x0016

Estándares y referencias

Todas las curvas