Skip to main content

Section 4.4 Discrete logs and the ECDLP

What will be the hard problem at the center of elliptic curve cryptographic methods? We'll take the discrete log problem in \(F_p\ad\) and modify it to take account of the additive structure of \(E(\F_p)\text{.}\) We begin with a computational algorithm.

Recall that

\begin{equation*} nP = \underbrace{P + P + \ldots + P}_{n \text{ times}}. \end{equation*}

The double-and-add algorithm is the exact analogue of the square-and-multiply fast powering algorithm presented in Algorithm 2.4.1.

This algorithm provides the basis for using elliptic curves in cryptographic applications. On the one hand, the forward computation of \(nP\) given knowledge of \(n, P\) is easy. On the other hand, we have another discrete log problem.

Definition 4.4.2.
The elliptic curve discrete log problem is to find, given points \(P, Q \in E(\F_p)\text{,}\) a number \(n\) so that
\begin{equation*} Q = nP \in E(\F_p). \end{equation*}
Notationally, we say that \(n\) is the discrete log of \(Q\) with respect to \(P\) and write
\begin{equation*} n = \log_P Q. \end{equation*}

There are some notable issues with treating the ECDLP like its namesake in \(\R\text{.}\) For one, in \(E(\F_p)\) there are points \(P, Q\) for which there is no integer \(n\) so that \(nP = Q\text{.}\) Also, if there is one such \(n\text{,}\) than many exist. Why should this be the case? The structure of \(F_p\) guarantees it.

Here we start to brush up against an important area of algebra concerning what are known as cyclic subgroups, to be considered in detail in a later section if you haven't seen them before. First, note that for any point \(P \in E(\F_p)\text{,}\) the equation \(sP = \mathcal O\) has a solution. Make a list

\begin{equation*} P, 2P, 3P, \ldots. \end{equation*}

At some point, an element in the list must repeat, since \(E(\F_p)\) is a finite set. Suppose that the repeat happens for integers \(j,k\) so that \(jP = kP\text{.}\) Then it must be the case that \((k-j)P = \mathcal O\text{,}\) and so \(s = k-j\) is a solution to \(s P = \mathcal O\text{.}\)The smallest such \(s\) is called the order of \(P\) in \(E(\F_p)\text{.}\)

Now suppose that for some \(n_0\text{,}\) we have \(n_0 P = \mathcal Q\) (that is, that \(n_0\) is a discrete log of \(Q\) with respect to \(P\)). For any integer \(k\text{,}\) we have

\begin{equation*} (n_0 + ks)P = n_0 P + ks P = Q + k(sP) = Q + \mathcal O = q \end{equation*}

and so \(n_0 + ks\) is also a discrete log of \(Q\) with respect to \(P\) for all \(k \in \Z\text{.}\) That is, in the elliptic curve setting, logarithms live in \(\Z_s\text{.}\) With this observation, we can justify the name “logarithm” by showing the (odd looking) property

\begin{equation} \log_P (Q_1 + Q_2) = \log_P Q_1 + \log_P Q_2\label{eq-eclog}\tag{4.4.1} \end{equation}

where the proof is left as an exercise. (The usual logarithm satisfies \(\log(xy) = \log x + \log y\text{:}\) the difference in this case is that we're working in an additive group.)

We should make some points about why elliptic curves are a tempting universe in which to do cryptography. First, unlike in \(\F_p\ad\text{,}\) inverses are trivial: if \(P = (x,y)\) then \(-P = (x, -y)\text{,}\) which makes computations much faster in Elgamal type settings. Second, and more importantly, unlike systems build on the integers and factoring problems, the fastest known algorithms that solve the ECDLP are exponential (on the order of \(O(\sqrt{N})\)), which allows the keyspace to be much smaller than methods amenable to attack by index calculus techniques (to be discussed after we talk about RSA).

Exercises Exercises

2.
\(n \in \Z\)\(P \in E(\F_p)\)\(Q = nP\)