The discrete logarithm problem in ECC is based on the idea that, under certain conditions, all points on an elliptic curve form a cyclic group.
On an elliptic curve, the public key is a random multiple of the generator point, whereas the private key is a randomly chosen integer used to generate the multiple.
Smaller Keys, Stronger Security (Part 2)
In other words, a private key is a randomly selected integer, whereas the public key is a point on the curve.
The discrete logarithm problem is used to find the private key (an integer) where that integer falls within all points on the elliptic curve.
The discrete logarithmic problem is to find the integer d, where 1 <= d <= #E, such that: Here, T is the public key (a point on the curve), and d is the private key.
In other words, the public key is a random multiple of the generator, whereas the private key is the integer that is used to generate the multiple.
A cyclic group is formed by a combination of points on the elliptic curve and point of infinity.
A key pair is linked with the specific domain parameters of an elliptic curve.
Why This Matters for Blockchain Technology
Domain parameters include field size, field representation, two elements from the field a and b, two field elements Xg and Yg, order n of point G that is calculated as G = (Xg, Yg), and the cofactor h = #E(Fq)/n.
A practical example using OpenSSL will be described section.
Various parameters are recommended and standardized to use as curves with ECC.
This is the specification that is used in Bitcoin: Specification of secp256k1 taken from http://www.secg.org/sec2-v2.pdf An explanation of all of these values in the sextuple is as follows: P is the prime p that specifies the size of the finite field.
Key Points to Remember
- Discrete logarithm problem in ECC The discrete logarithm problem in ECC is based on the idea that, under certain conditions, all points on an elliptic curve form a cyclic group.
- On an elliptic curve, the public key is a random multiple of the generator point, whereas the private key is a randomly chosen integer used to generate the multiple.
- In other words, a private key is a randomly selected integer, whereas the public key is a point on the curve.
- The discrete logarithm problem is used to find the private key (an integer) where that integer falls within all points on the elliptic curve.
Going Deeper: Advanced Concepts
G is the base point that generates the required subgroup, also known as the generator.
The base point can be represented in either compressed or uncompressed form.
There is no need to store all points on the curve in a practical implementation.
The compressed generator works because the points on the curve can be identified using only the x coordinate and the least significant bit of the y coordinate.
Conclusion
Discrete logarithm problem in ECC represents one of the many innovative layers that make blockchain technology so powerful and transformative. As distributed systems continue to evolve, a solid understanding of these core concepts becomes increasingly valuable — not just for developers, but for anyone building, investing in, or working alongside blockchain-powered systems.
Whether you are just starting your blockchain journey or deepening existing expertise, mastering these fundamentals gives you the tools to think clearly about decentralized systems and make smarter decisions in this rapidly evolving space.