Cointime

Download App
iOS & Android

The Bluffers Guide to secp256k1 ... When Satoshi Said Goodbye to PKI

Validated Individual Expert

If 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 identifier.

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. The standard for secp256k1 is published [here]:

This is a Weierstrass form of elliptic curve, and uses:

y²=x³+7 (mod p)

It has a base point of g=(0x79be667ef9dcb … 959f2815b16f81798, 0x483ada77 … 8ffb10d4b8) and a prime number of ²²⁵⁶−²³²−²⁹−²⁸−²⁷−²⁶−²⁴−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).

Why secp and not NIST?

Who knows why Satoshi chose the secp256k1 curve over the NIST defined curve of secp256k1. Many have questioned the close relationship between NIST and the NSA, and the possiblity of inserting a backdoor in the curve. And, so, perhaps Satoshi went for secp256k1 for this reason.

Points on secp256k1

The points on an elliptic curve curve do not always give a valid x-co-ordinate. Also there are two points for every valid x-co-ordinate value:

  • Elliptic Curve points for common curves in an x-range. Elliptic Curve points. This example uses Curve 25519, secp256k1, P256 and P512 to show the range of points for a given x-coordinate range.
  • First 20 Elliptic Curve points in Finite Field for common curves. Elliptic Curve points. Locating the first 20 points in an elliptic curve in a finite field for curves including Curve25519 (Tor), secp256k1 (Bitcoin) and NIST P-256.

Montgomery Ladder with secp256k1

The thing that makes elliptic curve cryptography fast, is the ability to multiply a point (G) by a scalar value (normally, the private key) to give a.G. This is fast due to the Montgomery ladder:

  • Montgomery Ladder in calculating kG in a fixed time. Ladder. Calculates kG for secp256k1.

Charting

An elliptic curve is beautiful in its analogue from, but points when discrete:

  • Draw y²=x³+7(mod p) [here].

Point multiplication

At the core of elliptic curve cryptography, we perform point multiplication:

  • Real ECC curves for (1G, 2G and nG). Elliptic Curve real. Curve 25519, secp256k, and so on.
  • Inverse of private key for secp256k1 with Python. Inverse of private key secp256k1. In this example Alice sends aG and Bob sends back abG. Alice then calculates a−1(mod n) and can then determine a^{−1}abG=bG. The secp256k1 curve is in the Weierstrass curve form (y²=x³+ax+b).

Key generation

Basically elliptic curve cryptography focuses on the digital signing process, and where we generate a private key (sk) and a public key (pk). There are defined as a key pair:

  • Elliptic Curve (OpenSSL Key Generator). Elliptic Curve (Keys). Elliptic Curv is a public key method. This page outline the generation of ECC key, including secp128r1.
  • Elliptic Curve (Keys). Elliptic Curve (Keys). Elliptic Curv is a public key method. This page outline the generation of ECC keys in Bitcoin.

ECDH with secp256k1

Along with digital signatures, elliptic curve methods are used in key exchange:

  • Elliptic Curve Diffie-Hellman (ECDH) with secp256k1. ECDH. Elliptic Curve Diffie Hellman is used to create a shared key.
  • Elliptic Curve Diffie-Hellman (ECDH) with different curves. ECDH. Elliptic Curve Diffie Hellman is used to create a shared key using different curves, including secp256k1, p192 and p224.
  • secp256k1 ECDH with Python. secp256k1 ECDH. Elliptic Curve Diffie Hellman using secp256k1 with Python. The secp256k1 curve is in the Weierstrass curve form (y²=x³+ax+b).
  • Authenticated secp256k1 ECDH with Python. Authenticated secp256k1 ECDH. Elliptic Curve Diffie Hellman using secp256k1 with Python, and where we use a long-term key for Bob and Alice to create a shared session key. The secp256k1 curve is in the Weierstrass curve form (y²=x³+ax+b).

ECDSA

A core part of the trust on the Bitcoin and Ethereum is the usage of the ECDSA signature:

  • Elliptic Curve Digital Signature Algorithm (ECDSA). ECDSA. Elliptic Curve Digital Signature Algorithm (ECDSA) is used to sign data.
  • Elliptic Curve Digital Signature Algorithm (ECDSA) with core operations. ECDSA. Elliptic Curve Digital Signature Algorithm (ECDSA) is used to sign data with core operations.

But it needs to be treating with caution:

  • Crack ECDSA from leak of nonce (SECP256k1). ECDSA with nonce. This outlines ECDSA how the private key can be recovered with a leak of the nonce value for SECP256k1.
  • Crack ECDSA with weak nonces. ECDSA with weak nonces. This outlines ECDSA how the private key can be recovered with weak nonce values.
  • Blinded ECDSA. Blinded ECDSA. With a blinded signature, Bob can sign for a message, without knowning what the message is. In this case Alice will create a blinded ECDSA signature, and where Bob can then sign it, and then Alice can unblind it. The method is based on one produced by Oleg Andreev for blinding signatures in Bitcoin.
  • ECDSA: Fault Attack. ECDSA: Fault Attack. In the fault attack in ECDSA we only require two signatures. One is produced without a fault (r,s) , and the other has a fault (rf,sf)

What’s the size of the public key?

As the public key is a point, in its purest form we have a 512 bit public key, and which is made up of 256 bits for the x-coordinate and 256 bits for the y-coordinate. But, we can also compress this, as we can easily derive the y-coordinate from the x-coordinate. In the end, there are only two possible y-coordinates, so all we have to do, is record whether it is odd or even and compress the point with just an identifier and the x-coodinate:

Conclusions

Comments

All Comments

Recommended for you

  • Strategy CEO: Company to Continue Adding More Bitcoin This Year

    On August 11, Strategy CEO Phong Le said in an interview with Fox News that the company will continue to accumulate more Bitcoin within this year.

  • BTC Falls Below $64,000

    Market data shows BTC has fallen below $64,000, currently trading at $63,998, with a 24-hour decline of 1.25%. Market volatility is significant; please exercise risk control.

  • Nvidia reportedly developing trillion-parameter open-source AI model Nemotron 4

    On August 11, Nvidia is developing a new generation of open-source artificial intelligence model, Nemotron 4, with an expected parameter scale of at least 1 trillion, aiming to compete with the world's leading open-source large models. Nvidia hopes to expand the application scope of AI through an open model ecosystem and further drive market demand for its GPU computing power. Nvidia has previously launched the Nemotron series of open-source models, including the Nemotron-4 340B series with 340 billion parameters, primarily used for large language model training data generation, model development, and enterprise AI applications.

  • Crypto-Friendly Bank Erebor Seeks $1.5B Funding with a16z Participation

    On August 11, Erebor Bank, a crypto-friendly bank co-founded by Oculus and Anduril founder Palmer Luckey and Palantir co-founder Joe Lonsdale, is seeking $1.5 billion in funding, with a pre-money valuation target of $8 billion. This valuation is nearly double the $435 million valuation the company had when it completed a $350 million funding round in December 2025. Erebor has already received support from investment institutions such as 8VC and Haun Ventures, and the new funding round is expected to attract participation from Lux Capital, Andreessen Horowitz (a16z), Human Capital, Valor Equity Partners, and SV Angel, among others. As AI infrastructure investment enters a phase of rapid expansion, Erebor is targeting the financing needs of AI companies. AI companies require substantial capital to purchase GPUs, build data centers, and secure energy supplies, while traditional financial institutions are gradually exploring financing models for AI infrastructure assets. However, whether Erebor can maintain rapid growth after the AI and crypto industry cycles cool down remains a key focus for the market. The funding round has not yet been finalized and is expected to be completed within the coming weeks.

  • Russia's Central Bank Adds Bitcoin, Ethereum, and USDT to Publicly Tradable Cryptocurrency List

    On August 11, the Central Bank of Russia included Bitcoin, Ethereum, and Tether (USDT) in the list of cryptocurrencies that can be publicly traded on domestic exchanges.

  • BTC Breaks Above $64,000

    Market data shows BTC has broken through $64,000 and is currently reported at $64,000.33, with a 24-hour decline of 1.53%. Market volatility is high, so please exercise caution and manage risks accordingly.

  • BTC Falls Below $64,000

    Market data shows BTC has fallen below $64,000, currently at $63,999.77, with a 24-hour decline of 1.89%. Market volatility is significant; please exercise risk control.

  • Vitalik Updates Ethereum Roadmap: Privacy, Post-Quantum Scaling, and Native Rollups Become New Priorities

    On August 10, Vitalik Buterin stated that he had compared the 2023 Ethereum roadmap with the current Strawmap. The overall direction still overlaps considerably, but some priorities and technical paths have been clearly adjusted, including raising the priority of quantum safety, downweighting VDF and some EVM improvements, and replacing old designs with solutions such as a unified binary tree, PBT, and new state types. He noted that the most notable change in the current Strawmap is the emergence of several new topics not included in the 2023 roadmap, reflecting a shift in Ethereum's R&D focus. These new priorities include: stronger native privacy support, aggressive scaling in a post-quantum context, specification streamlining for formal verification, Blob and Gas futures, native Rollups, and a more open design space for the future shape of the EVM. Vitalik also emphasized that Ethereum's scaling approach is shifting from 'expanding all activities comprehensively' to 'designing more scalable dedicated mechanisms for specific high-load scenarios,' and he regards STARK proofs and AI-accelerated formal verification as important foundations for the protocol's future. Overall, this update shows that the Ethereum roadmap is evolving toward quantum safety, privacy-first, censorship resistance, high performance, and simpler protocol design.

  • ETH Falls Below $1900

    Market数据显示,ETH has fallen below $1900, currently reported at $1899.19, with a 24-hour decline of 1.28%. The market is highly volatile. Please exercise risk control.

  • Microsoft Plans to Release Next-Gen MAIA 300 AI Chip in September

    On August 10, according to reports, Microsoft plans to release its next-generation MAIA 300 AI chip in September.