# A Bluffer’s Guide to secp256k1

If it wasn’t for Satoshi Nakamoto, you probably would never have heard of the secp256k1 Elliptic Curve Cryptography (ECC) method. And so, Satoshi used it to take a private key and then produce a public key.

At the core of the adoption of Bitcoin is the usage of the ECDSA (Elliptic Curve Digital Signature Algorithm), and where it was possible to verify a transaction from the public Bitcoin identifier. A key advantage of this is that it did not use PKI (Public Key Infrastructure) and where users did not have to distribute their public key, but where the public key is exposed with trusted transactions.

The standard for secp256k1 was published in 2010 [here]:

It uses the Weierstrass form of an elliptic curve:

*y*²=*x³*+7 (mod p)

and has a base point of g=(0x79be667ef9dcb … 959f2815b16f81798, 0x483ada77 … 8ffb10d4b8) and a prime number of 2²⁵⁶−2³²−2⁹−2⁸−2⁷−2⁶−2⁴−1. The order of the curve is *n*=0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141. Overall, the order of the curve relates to the number of possible points for the elliptic curve. Operations on secp256k1 often involve a (mod n) operation, and where n is the…