secp256k1 CurveIf it wasn’t for Satoshi Nakamoto, you probably would never have heard of the secp256k1 Elliptic Curve Cryptography (ECC) method. But, Satoshi used it to take a private key and then produce a public key. At its core was the usage of the ECDSA (Elliptic Curve Digital Signature Algorithm), where it was possible to verify a transaction from the public Bitcoin identifier. It thus did not use PKI (Public Key Infrastructure) and it had all it needed to integrate trust into transactions. This is a Weierstrass form of elliptic curve, and uses: \(y^2=x^3+7 \pmod p\) It has a base point of g=(0x79be667ef9dcb … 959f2815b16f81798, 0x483ada77 … 8ffb10d4b8) and a prime number of \(2^{256} - 2^{32} - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1\). The order of the curve is \(n\)=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141. Overall we have a private key of \(a\) and then produce a public key of \(aG\). We do this though point addition. For secp256k1, we have a 256-bit private key value, and a 512-bit public key value (and which is a point on the elliptic curve). ECDH with secp256k1
Point multiplication
Key generation
ECDSA
Points on secp256k1
Montgomery Ladder with secp256k1
Charting
Factoring based signatures
Verifiable Encryption
|