Ethereum: Why doesn’t basepoint G of Secp256K1 seem to be on the Elliptic Curve?

Understanding Ethereum Elliptic Curve Coefficients

The elliptic curve is a mathematical representation used to protect digital transactions and ensure the integrity of blockchain data. In this article, we will look at the features of representing the base point G (also known as point 0) of the elliptic curve Secp256K1 in hexadecimal and decimal format.

Elliptic Curve Representation

On the elliptic curve, the point P is determined by its coordinates (x, y) such that:

x^2 + y^2 ≡ 1 (mod p)

where x and y are the coordinates of point P on the curve. The point at infinity (denoted as O) serves as an identity element.

Elliptic curve Secp256K1

Ethereum: Why doesn't basepoint G of Secp256K1 seem to be on the Elliptic Curve?

Secp256K1 is a cryptographic elliptic curve developed by NIST to ensure compatibility with existing cryptographic systems such as RSA and digital signatures based on elliptic curves. This particular curve uses a limited 256-bit (32-byte) field to store the private key.

Base point G on Secp256K1

The base point G is an important element of the elliptic curve, representing a point at infinity. In the context of Secp256K1, the base point G has the coordinates:

Gx = (79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB …

Hexadecimal representation

We are interested in the hexadecimal representation of these coordinates.

Gx = (79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB ...

This hexadecimal code consists of a series of numbers, each of which represents a value in a specific bit position. The first 64 bits represent the “header” part of the coordinates, and the next 64 bits provide additional information.

Decimal

For those unfamiliar with the hexadecimal number system, here’s a quick translation guide:

  • “79” represents the number 255 (2^8 – 1)

  • “BE” represents the hexadecimal value “0003”.

  • 667E represents the decimal value of 0x6C27FE

  • “F9DCBBAC” represents the decimal value of “0x5D4A96B”.

By combining these hexadecimal values, the Secp256K1 elliptic curve point is determined.

Why is the base point G not displayed as a point on the elliptic curve?

Despite its importance in cryptographic practice, the base point G of Secp256K1 is not usually represented as a point on an elliptic curve. This happens for several reasons:

  • Security: Representing the base point G as a single point would make it vulnerable to various attacks such as “base point attack” or “infinity point vulnerability”.

  • Complexity: Attempting to represent the complex coordinate algebra of Secp256K1 can lead to computational problems and performance degradation.

  • Efficiency

    : in cryptographic applications, simplicity and efficiency are often preferable to a detailed mathematical representation.

In summary, although the hexadecimal and decimal representations of the base point G on Secp256K1 are interesting, they do not directly correspond to a point on the elliptic curve. The complexity and security considerations involved in representing the base point G in this way make it impractical for cryptographic applications.