Secp256k1

De Bitcoin Wiki
Saltar a: navegación, buscar

secp256k1 es el tipo de curva elíptica utilizada como curva ECDSA en el modelo criptográfico de Bitcoin y viene definida en el documento normativo Standards for Efficient Cryptography (SEC) (Certicom Research, http://www.secg.org/collateral/sec2_final.pdf).

De acuerdo con la especificación:

Los parámetros del dominio de las curvas elípticas sobre Fp asociados con una curva de Koblitz secp256k1 vienen especificados por el sexteto T = (p,a,b,G,n,h), en donde el campo finito Fp está definido por:

  • p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
  • = 2256 - 232 - 29 - 28 - 27 - 26 - 24 - 1

La curva E: y2 = x3+ax+b sobre Fp está definida por:

  • a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  • b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000007

El punto baseG en forma comprimida es:

  • G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Y en forma no comprimida es:

  • G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8

Finalmente, el orden n de G y el cofactor son:

  • n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141
  • h = 01