Secp256k1: Technical Details
Secp256k1: Technical Details
Secp256k1
secp256k1 refers to the parameters of the elliptic curve used in
Bitcoin's public-key cryptography, and is defined in Standards
for Efficient Cryptography (SEC) (Certicom Research,
http://www.secg.org/sec2-v2.pdf). Currently Bitcoin uses
secp256k1 with the ECDSA algorithm, though the same curve
with the same public/private keys can be used in some other
algorithms such as Schnorr.
The elliptic curve domain parameters over Fp associated with a Koblitz curve secp256k1 are specified
by the
sextuple T = (p,a,b,G,n,h) where the finite field Fp is defined by:
https://en.bitcoin.it/wiki/Secp256k1 1/2
12/30/21, 8:44 PM Secp256k1 - Bitcoin Wiki
Properties
secp256k1 has characteristic p, it is defined over the prime field ℤp. Some other curves in common use have
characteristic 2, and are defined over a binary Galois field GF(2n), but secp256k1 is not one of them.
As the a constant is zero, the ax term in the curve equation is always zero, hence the curve equation becomes
y2 = x3 + 7.
See also
What does secp256k1 look like (https://bitcoin.stackexchange.com/questions/21907/what-does-the-curve-use
d-in-bitcoin-secp256k1-look-like) (Bitcoin stack exchange answer by Pieter Wuille)
https://en.bitcoin.it/wiki/Secp256k1 2/2