Back to blogs
Written by
Ciara Nightingale
Published on
September 4, 2025

ZK Math 101: The Elliptic Curve Discrete Logarithm Problem

Learn how elliptic curves form cyclic groups, explore their homomorphic properties, and discover how the discrete logarithm problem provides cryptographic security.

Table of Contents

Our previous article covered elliptic curves over real numbers. However, cryptographic applications like ECDSA signatures and zero-knowledge proof systems require working over finite fields.

This article will explore elliptic curves over finite fields, how these discrete curves form cyclic groups, their homomorphic properties, and how the discrete logarithm problem provides cryptographic security.

Elliptic curves over finite fields

Now that point addition and scalar point multiplication have been defined for elliptic curves over real numbers, let's repeat this exercise while considering elliptic curves over finite fields, where the $x$ and $y$ coordinates are from a finite field $\mathbb{F_p}$ where $p$ must to be prime to form a field.

This is what the elliptic curve points are, specifically, an elliptic curve over the finite set of integers modulo $p=19$, or $\mathbb{F}_{19}$:

$x$ values  $y$ values 
1,18 
7,12 
6,13 
3,16 
6,13 
10  2,17 
13  7,12 
17  8,11 
18  5,14 

Or, plotted on a curve:

Graph of the elliptic curve y^2 = x^3 + ax + b (mod19) over a finite field
Figure 1: Elliptic curve over the finite field \mathbb{F_{19}}​

There are $(p-1)$ possible values for $x$ and $(p-1)$ possible values for $y$. Therefore, each coordinate $x$ and $y$ on the elliptic curve is an element of this set of $p-1$ elements.

Notice how, as with elliptic curves over real numbers, the plot is symmetrical about the x-axis. However, this plot is now discrete rather than continuous (individual, disconnected points, not a continuous line). This is because the field $\mathbb{F}_{19}$ is discrete since the field elements are integers modulo $19$ rather than real numbers.

Point addition and group properties

Point addition on elliptic curves over finite fields follows the same algebraic formulas as curves over real numbers. The connect, intersect, and reflect (CIR) framework describes the underlying mathematics, but over finite fields $\mathbb{F}_p$, this happens algebraically rather than geometrically.


To add two points $P = (x_1, y_1)$ and $Q = (x_2, y_2)$:

  1. "Connect" - Calculate the slope of the line $\lambda$ through the points:
    • If $P ≠ Q: \lambda = \frac{(y_2 - y_1)}{ (x_2 - x_1)} \mod p$
    • If $P = Q: \lambda = \frac{(3{x_1}^2 + a) }{ (2y_1)} \mod p$
  2. "Intersect" - Find where this "line" meets the curve a third time:
    • $x_3 = {\lambda}^2 - x_1 - x_2 \mod p$
  3. "Reflect" - Get the $y$ component:
    • $y_3 = \lambda(x_1 - x_3) - y_1 \mod p$

The group properties also still hold:

  • The identity element is still the point at infinity, defined the same as before.
  • Adding a point to its inverse results in the identity element: the point at infinity.
  • Point addition remains closed, associative, and commutative.

Since these properties hold, elliptic curves over finite fields also form Abelian groups. However, in some instances, the group is also cyclic.

Cyclic structure

In the case of elliptic curves over finite fields, when the order (the number of points) of the elliptic curve is a prime number (let's call it $n$ to distinguish it from the prime field modulus $p$ in $\mathbb{F_p}$):

  • The curve points form a cyclic group and there exists a generator points $G$ from which every point can be calculated using scalar multiplication (repeatedly adding $G$ to itself).


$$P = kG$$

  • Every point $P$ on the curve can be expressed as $P=kG$, where $k$ is a scalar and $k \in {0, 1, 2, ..., n-1}$.
  • We can estimate the number of points on the curve (its order) using the Hasse bound.

For example, with a curve of order $19$, we can generate all $19$ points by computing $G$, $2G$, $3G$, ..., $18G$ from the generator point $G$ plus the point at infinity $\mathcal{O}$.

The discrete logarithm problem in elliptic curve space

The ECDLP is a version of the discrete logarithm problem (DLP) that considers elliptic curve points with the point addition operator.

The DLP asks: Given a generator $g$ and an element $h$, find an integer $x$ such that applying the group operation $x$ times to $g$ results in $h$.

In a finite multiplicative cyclic group, this means finding $x$ such that:

$$h = g^x \pmod{p}$$


where exponentiation is repeated multiplication.

The ECDLP is the DLP for an elliptic curve group: the set of elliptic curve points over a finite field, equipped with the point addition binary operator.

The ECDLP is the problem of determining a scalar $x$, such that:

$$P = xG$$


Where:

  • $G$ is the generator point (a known point on the elliptic curve)
  • $P$ is another known point
  • $x$ is the unknown scalar attempting to be found that was used to generate $P$


Remember, this is scalar multiplication, so repeated point addition.

The ECDLP states that finding the scalar $x$ is computationally infeasible.

Why is the ECDLP hard?

While point addition is computationally efficient, if the elliptic curve order $n$ is large enough, reversing this operation (i.e., finding $x$ given $P=xG$) is a problem for which no efficient algorithm is known. There is no direct formula for "scalar division."

Given a point $P$, it is unknown which scalar $x$ was used to compute it, to find $x$, you’d have to try many of the possibilities until you find the correct one (using an algorithm like Pollard’s Rho algorithm which is an optimized brute force approach, or exhaustice search, that reduces the number of calculations to ~$\sqrt{n}$). Algorithms like this becomes infeasible when the group order $n$ (number of elements in the group) is large.

This is why $n$ must be large: to ensure that the space of possible $x$ values is enormous, making exhaustive search computationally impractical.

Example: Brute-forcing the ECDLP

To understand why the ECDLP is hard, consider a small curve over $\mathbb{F}_5$ with the equation $y^2 = x^3 + 2x + 1 \mod 5$.

Suppose we pick $G = (0,1)$ as our generator. We can compute scalar multiples:

$x$  $xG$ 
(0,1) 
(1,3) 
(3,3) 
(3,2) 
(1,2) 

If you are given $P = (3,3)$, to solve for $x$ in $xG = P$, you can try each multiple:

  • $1G = (0,1)$ ❌
  • $2G = (1,3)$ ❌
  • $3G = (3,3)$ ✅

Thus, $x = 3$.

In this example, brute-forcing $x$ is easy because there are very few possibilities. But on real-world curves where $n$ (the elliptic curve order) is, for example, for the BN254 curve, approximately $2^{256}$, this approach becomes completely infeasible.

Homomorphic properties

Elliptic curves exhibit important homomorphic properties that make them useful for cryptography:

Scalar multiplication creates a homomorphism from the additive group $\mathbb{Z}_{n}$ (integers modulo the curve order) to the elliptic curve group over a finite field $\mathbb{F_p}$.

Additive homomorphism: for any integers $a$ and $b$ modulo the curve order $n$ and generator point $G$, addition in $\mathbb{Z}_{n}$ maps to point addition on the curve:

$$(a + b)G = aG + bG$$


Distributive property
: for any integer $k$ modulo the curve order $n$ and points $P$ and $Q$, scalar multiplication distributes over elliptic curve point addition:


$$k(P + Q) = kP + kQ$$


Therefore, we can transform private values into elliptic curve points through scalar multiplication with a generator point $G$.

The resulting points maintain mathematical relationships corresponding to operations on the original values while making it computationally infeasible (due to ECDLP) to recover the original values.

For example, if we have a private value $x$ and generate the point $P = xG$, we can perform operations on $P$ that correspond to operations on $x$, without revealing $x$ itself.

The point $P = xG$ acts as a "cryptographic representation" of $x$.

Operations on these representations correspond to operations on the underlying values, but the discrete logarithm problem makes it computationally infeasible to extract $x$ from $P$.

This property is fundamental to many cryptographic protocols, including digital signatures, key exchange, and zero-knowledge proofs.

Summary

The key concepts covered in this article include:

  • Finite fields: Elliptic curves over finite fields $\mathbb{F_p}$ have discrete points with coordinates from the field.
  • Cyclic groups: When the curve order $n$ is prime, every point can be generated from a single base point: the generator point $G$.
  • Homomorphic properties: The relationship $(a+b)G=aG+bG$ allows structure-preserving transformations of private values.
  • ECDLP hardness: The computational difficulty of determining $x$ given $P=xG$ provides cryptographic security.

The combination of efficient computation and computational hardness makes elliptic curves over finite fields the foundation of modern public-key cryptography.

References

Secure your protocol today

Join some of the biggest protocols and companies in creating a better internet. Our security researchers will help you throughout the whole process.
Stay on the bleeding edge of security
Carefully crafted, short smart contract security tips and news freshly delivered every week.