[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to content
BY 4.0 license Open Access Published by De Gruyter August 18, 2020

Can we Beat the Square Root Bound for ECDLP over 𝔽p2 via Representation?

  • Claire Delaplace EMAIL logo and Alexander May

Abstract

We give a 4-list algorithm for solving the Elliptic Curve Discrete Logarithm (ECDLP) over some quadratic field 𝔽p2. Using the representation technique, we reduce ECDLP to a multivariate polynomial zero testing problem. Our solution of this problem using bivariate polynomial multi-evaluation yields a p1.314-algorithm for ECDLP. While this is inferior to Pollard’s Rho algorithm with square root (in the field size) complexity 𝓞(p), it still has the potential to open a path to an o(p)-algorithm for ECDLP, since all involved lists are of size as small as p34, only their computation is yet too costly.

MSC 2010: 11Y99; 11T06; 11T71

1 Introduction

Given an elliptic curve E, defined over a finite field 𝔽q and two points P and Q on this curve, the elliptic curve discrete logarithm problem (ECDLP) consists in recovering k modulo order of P such that Q = kP, if it exists.

Nowadays, ECDLP-based cryptosystems are omnipresent in everyday life cryptography, as they are widely spread in cryptographic suites such as TLS.

Many algorithms for ECDLP have been proposed in the literature from Shanks Baby-Step Giant-Step [19], to Weil descent and index calculus methods [2, 4, 5, 6, 7]. Other algorithms have been designed for particular cases, such as elliptic curves over a field 𝔽p of group order exactly p [14, 20], or in a subgroup of order p [17]. We refer the reader to [3] for an overview of ECDLP algorithms.

Pollard’s Rho algorithm offers the best time and space complexity for elliptic curves defined over a finite field 𝔽p, where p is prime, with a running time of O(p) and constant memory (e.g. using Floyd’s cycle finding algorithm). Pollard’s Rho method basically creates a sequence (Ri)i≥1 of elements of 〈P〉 with R0 = O and Ri+1 = g(Ri) for a well chosen function g, such that each Ri satisfies Ri = aiP + biQ. Once a collision appears between two elements Ri and Rj, we have (aiaj) P = (bjbi) Q. Provided that bibj, it follows that Q=aiajbjbiP.

When the elliptic curve is defined over 𝔽pn for n ≥ 2, and p being a prime or a power of a prime, it is possible to perform what is called a Weil Descent. The core idea of Gaudry’s algebraic factor-base algorithm [6] for 𝔽pn is to split a point into an n-sum of points from a factor base that is defined over the base field 𝔽p. Using Semaev’s summation polynomials [18], the split can be computed via a Gröbner basis computation. Such a computation yields a relation between factor base elements. If at least q – the size of the factor base – such relations are collected, ECDLP can be solved via linear algebra. In total, Gaudry’s method runs in time Op22n, which is for n = 2 no better than Pollard’s Rho algorithm. Moreover, with a factor base of size p, there is no hope to obtain an o(p)-algorithm. Yet, variations of the factor base might be possible as demonstrated in Petit et al. [13].

Our contribution

Our (ultimate) goal is to break the square root bound for ECDLP over 𝔽p2 by designing a 4-list algorithm using the representation technique. The representation technique already proved to be useful to break the square-root barrier in the context of the subset-sum problem [1, 8].

We define a problem, called Zero-Join (ZJ–Problem), which given two lists A and B of points of Fp2, and a polynomial f ∈ 𝔽p[X1,X2,X3,X4] consists in returning a list C of all ((x1, y1), (x2,y2)) ∈ A × B such that f(x1,y1, x2, y2) = 0.

We show that A and B are such that ∣A∣ ⋅ ∣B∣ = p32. Moreover, we show that any algorithm which solves the ZJ–Problem in time T and in memory M also solves ECDLP over 𝔽p2 in time T and memory M. In particular, if ∣A∣ = ∣B∣ = p34, and in (the extreme) case that the ZJ–Problem could be solved in time linear in ∣A∣ and ∣B∣, ECDLP could be solved in Op34. A trivial solution to the ZJ–Problem can be achieved in quadratic time which results in a p32-algorithm. However, we show that the ZJ–Problem admits sub-quadratic solutions. When using multi-evaluation techniques for bivariate polynomials, we achieve a p1.314-algorithm. We leave it as an open problem whether this can be further improved.

Organisation of the paper

In Section 3, we present our new ECDLP 4-list algorithm for an elliptic curve defined over 𝔽p2, for any prime p > 3. We also show that ECDLP reduces to the ZJ–Problem. Finally, we present a sub-quadratic algorithm to solve the ZJ–Problem in Section 4, resulting in our p1.314-algorithm.

2 Preliminaries

For any integer r, we denote by ℤr the ring ℤ/rℤ. For any two integers a < b ∈ ℤ, we denote by [a, b] the set of all integers akb and by [a, b) the set of all integers ak < b. For any n > 0, we denote by log n the logarithm in basis 2 of n. For any real x, we denote by ⌊x⌉ the rounding to the closest integer to x, when tied, we round to the greater one. Let us denote 𝔽p the finite field with p elements. Let x be an element of 𝔽p2, x = x(0) + αx(1), such that there exists β ∈ 𝔽p and α is a root of X2β, which is irreducible over 𝔽p. Let 𝓑 be a basis of Fp2 with respect to α. The vector (x(0), x(1)) ∈ Fp2 in basis 𝓑 is uniquely associated to x.

Let q = pn for n ≥ 1, and p > 3 prime. Let 𝔽q be a finite field and let E be an elliptic curve over 𝔽q. We denote by O the point at infinity of E. The group E(𝔽q) is the group of all the points in E. As p > 3, we can define E in Weierstraß form. In particular, there is a function f : 𝔽q → 𝔽q that maps elements x to f(x) = x3 + ax + b, for some a, b ∈ 𝔽q such that the set of points E(𝔽q) equals {P = (x, y) ∈ Fq2 : y2 = f(x)} ∪ {O}. Although there are other ways to represent an elliptic curve, in this paper, we focus on the Weierstraß model.

Let 𝓢1 and 𝓢2 be subsets of ℕ, we denote by 𝓢1 + 𝓢2 the set of integers z such that z = x + y with x ∈ 𝓢1 and y ∈ 𝓢2, and for all ∈ ℕ, we denote by 𝓢1 the set of integers z such that z = x with x ∈ 𝓢1.

Let L be a list. We consider L as a tuple (0, …, N−1), where N = ∣L∣ ≥ 0. We denote by L[i] the (i + 1)-th element of the list. Given two lists L1 = (0, …, N) and L2 = (t0, …, tM), we denote by L1 + L2 the list (0+t0, 0 + t10 + tMN + tM). An empty list is denoted by ⊥.

Complexities

We use the standard Landau notations to describe the complexities presented in this paper. The time complexities are given in number of elementary operations (negation, addition, multiplication, inverse) over 𝔽p, and the memory complexities in number of elements of 𝔽p that are to be stored. Using this convention, elementary operations over 𝔽p2 and sum of two points of the group E(𝔽p2) are performed in time 𝓞(1), and storing an element of 𝔽p2 or a point of E(𝔽p2) requires 𝓞(1) memory.

Discrete logarithm over an elliptic curve

Let E be an elliptic curve over a finite field 𝔽q. Let us denote by ∣E(𝔽q)∣ the order of the group (i.e. the cardinality of E(𝔽q)). By Hasse’s Theorem, we know that ∣E(𝔽q)∣ = 𝓞(q). Let P be a point of E(𝔽q). The orderr of P is the cardinality of the cyclic group 〈P〉 = {O, P, 2P, …, (r − 1)P}. It is also the first integer > 0 such that P = O. As 〈P〉 is a subgroup of E(𝔽q), it is clear that r ≤ ∣E(𝔽q)∣.

Definition 2.1

(ECDLP). Let 𝔽q be a finite field, and let E be an elliptic curve over 𝔽q. Let P be a point of E(𝔽q) of prime order r = 𝓞(q). Let G = 〈P〉. Given P and Q in G, solving the discrete logarithm problem overE consists in recovering k ∈ ℤr such that kP = Q.

We are interested in the case where q = p2, for a prime p > 3. We call this particular variant p2–ECDLP.

Representation Technique

In [8], Howgrave-Graham and Joux introduced the representation technique to improve methods for the subset-sum problem. Given a vector a ∈ ℤn and a target t in ℤ the problem basically consists in finding a vector e ∈ {0, 1}n such that 〈a, e〉 = t. When the solution e consists exactly of n/2 non-zero coefficients, Howgrave-Graham and Joux noticed that it can be split into sums of two vectors e = e1 + e2, where e1 and e2 both consist of n/4 one coefficients, in n/2n/4 different ways. It is enough to find only one of these representations to recover a solution to the problem, thus additional constraints can be enforced on the dot products 〈a, e1〉 and 〈a, e2〉, so that only one of these representation survives. This yields a 20.337n algorithm for subset-sum that breaks the square root bound.

We would like to transfer this idea to the p2–ECDLP problem.

Definition 2.2

(Representation). Let > 0, r ∈ ℕ, k ∈ ℤr, and let 𝓢1, … 𝓢 be subsets of ℕ. A tuple (k1, …, k) ∈ 𝓢1 × … × 𝓢 is a representation of k if k = k1 + … +k mod r.

3 New ideas to solve p2–ECDLP

Let E(𝔽p2) be an elliptic curve defined over 𝔽p2, with p > 3. Let r be the order of E(𝔽p2), which can be computed in time polynomial in log p with Schoof’s algorithm [15, 16]. Since we are interested in cryptographic applications we assume that r is prime. By Hasse’s theorem we know that rp2. Let P generate E(𝔽p2) and let Q = kP for some unknown k ∈ ℤr that we want to compute.

First notice that for all (k1, k2) ∈ Zr2, (k1+ k2) P = Q is equivalent to k1P = Qk2P. In the following we try to recover such a tuple (k1, k2).

Heuristic

For the complexity analysis of our algorithm, we assume that the points of E(𝔽p2) are uniformly distributed over Fp22. The results of Kim, Tibouchi [9] provide some theoretical justification for our assumption.

3.1 Solving p2–ECDLP Using the Representation Technique

First note that every positive integer s can be uniquely decomposed as

s=s0+s1p+s2p,(1)

by computing first the integer division of s = s2p + by p, and then the integer division of = s0 + s1p by p. In this case, s0, s1, s2 are in ℕ such that 0s0<p,0s1<pp1 and s2 ≥ 0.

With respect to this decomposition, we denote by 𝓢1 and 𝓢2 the subsets of [0, r) such that

S1={s=s0+s2p},S2={s=s1p+s2p}.

Informally, the bits of the elements of 𝓢1 and 𝓢2 are dispatched as shown in Figure 1a. We consider k as the sum k1 + k2 where k1 ∈ 𝓢1 and k2 ∈ 𝓢2. Since k1, k2 overlap in log(rp) bits we expect that each k has at least rpp representations as a sum k1 + k2. This is shown more formally in the following lemma.

Figure 1 Bits repartition of the elements of 𝓢i and 𝓣j
for i ∈ [1, 2], j ∈ [1, 3].
Figure 1

Bits repartition of the elements of 𝓢i and 𝓣j for i ∈ [1, 2], j ∈ [1, 3].

Lemma 3.1

There are at leastp − 1 representations ofkas the sumk1 + k2with (k1, k2) ∈ 𝓢1 × 𝓢2.

Proof

Let k = k0 + k1p + k2p ∈ [0, r) be such that k (mod r) = k, and let = k + r = 0 + 1p + 2p when decomposed as in Equation 1. We denote by 𝓢11 the subset of 𝓢1 of the elements s = k0 + s2p, and by 𝓢12 the subset of 𝓢1 of the elements s = 0 + s2p.

We first show that for any k1 ∈ 𝓢11 such that k1k, there exists some k2 ∈ 𝓢2 such that k1 + k2 = k. Then we claim that for any k1 ∈ 𝓢12, such that k1 > k, there is a k2 ∈ 𝓢2 such that k1 + k2 = .

Let k1 ∈ 𝓢11 be arbitrary such that k1k. From the definition of 𝓢11, k1 = k0 + k12p. In particular k1k means that k2k12 ≥ 0, and as k < r, kk1 ∈ [0, r). Finally we have

k¯k1=k¯0+k¯1p+k¯2pk¯0k12p=k¯1p+(k¯2k12)pS2.

Let now k1 ∈ 𝓢12, such that k1 > k. First note that k1 < r < . From the definition of 𝓢12, k1 = 0 + k12p, and k1 ≥ 0 means that in particular 2- k12 ≥ 0. Furthermore as k1 > k, k1 = r + kk1 ∈ [0, r). Finally

k^k1=k^0+k^1p+k^2pk^0k12p=k^1p+(k^2k12)pS2.

It follows that the number of representations (k1, k2) ∈ 𝓢1 × 𝓢2 of k is at least equal to the number N1 of elements of 𝓢11 that are smaller than k plus the number N2 of elements of 𝓢12 that are bigger than k. N1 is the number of k1 = k0 + k12p such that 0 ≤ k12k2, meaning that N1 = k2 + 1. N2 is the number of k1 = 0 + k12p such that k2k12 < rp. From Hasse’s Theorem, rp2 − 2p. It follows that r/pp − 2, and thus N2p − 2 − k12. It follows that there is at least p − 1 representations of k in 𝓢1 × 𝓢2.

Out of the p − 1 representations of k as k1 + k2, (k1, k2) ∈ 𝓢1 × 𝓢2 it suffices to compute a single one. Therefore, computing only a 1p-fraction of all points (P1, P2)=(k1P, Qk2P) should be sufficient to compute k. In order to compute a 1p-fraction we restrict to those points (P1, P2) whose x-coordinate lies in the base field (i.e. Pi = (x, y) with x ∈ 𝔽p). [1]

More precisely, we proceed as follows. We compute a list L of all P1 = k1P = (x, y) such that x ∈ 𝔽p and k1 ∈ 𝓢1. Moreover, we compute a list L′ of all P2 = Qk2P = (x′, y′) for k2 ∈ 𝓢2 such that x′ ∈ 𝔽p. Then we search for a collision in L and L′. This gives us k as the sum of the corresponding k1 and k2.

This results in RepECDLP, described in Algorithm 2. Notice that the resulting lists L, L′ have expected size only p1/2, since we impose a 1p restriction on a search space of size p2/3.

Now let us turn to the tricky part, the computation of L, L′. Let {0 ≤ λ12 be a fixed parameter to be determined later, and let 𝓣1, 𝓣2, 𝓣3 be three sets of elements of [0, r) such that

T1=s=s0+ps2S1:s20,pλT2=s=ps2S1S2:s2=tpλ0,pT3=s=s1p+ps2S2:s20,pλ

The bit repartition of the elements of 𝓣1, 𝓣2 and 𝓣3 is given by Figure 1b. The reader is advised to use the illustration in Figure 2 for the following description.

Figure 2 Illustration of RepECDLP.
Figure 2

Illustration of RepECDLP.

It has already been argued that all s ∈ ℕ can be uniquely split as s = s0 + ps1 + ps2. Following the same argument, for any fixed λ, s2 can be uniquely written as s2=s20+pλs21, where s20 < pλ by computing the integer division of s2 by pλ. It follows that, in particular, every s ∈ 𝓢1 can be uniquely written as s = s0 + p (s20 + s21pλ), or in other words every s ∈ 𝓢1 can be uniquely written as s = k1 + k2, where k1 = s0 + ps20 ∈ 𝓣1 and k2 = ppλ ∈ 𝓣2. A similar argument can be applied to show that every s′ ∈ 𝓢2 can be uniquely written as s′ = k3 + k4, where k3 ∈ 𝓣3 and k4 ∈ 𝓣2.

We create the list L1 of (P1, k1) such that P1 = k1P for all k1 ∈ 𝓣1, the list L2 of (P2, k2) such that P2 = k2P for all k2 ∈ 𝓣2, the list L3 of (P3, k3) with P3 = Qk3P for all k3 ∈ 𝓣3, and the list L4 of (P4, k4) with P4 = −k4P for all k4 ∈ 𝓣2. From here, we compute the list L = {(P12, k1 + k2) : (P1, k1) ∈ L1, (P2, k2) ∈ L2, P12 = P1 + P2 = (x, y) with x ∈ 𝔽p}. In particular, from the argument above, L consists of all the points k12P = (x, y) such that xL and k12 ∈ 𝓢1. Then for all (x′, y′) = P3 + P4 with x′ ∈ 𝔽p we check if (x′, y′) ∈ L, and if so return the sum of the corresponding k1, k2, k3, k4. In other words, we consider the following problem.

Problem 3.2

Given two lists L1 and L2 of points PE(𝔽p2), compute the list L = {(x, y) = P1 + P2, P1L1, P2L2, x ∈ 𝔽p

We claim that any algorithm solving Problem 3.2 can be used as the main routine to solve the p2–ECDLP problem. Our whole RepECDLP algorithm is summarised in Algorithm 2. The BuildLists algorithm, described in Algorithm 1 builds the lists Li for i ∈ [1, 4] and we denote by ECJoin an algorithm solving Problem 3.2, with a slight modification that does not influence the run time: the input lists contain tuples (Pi, ki), where ki is an element of [0, r), the output list must also contain tuples (P1 + P2, k1 + k2).

The following lemma gives the complexities of BuildLists.

Algorithm 1

BuildLists(E, P)

Require: An elliptic curve E over 𝔽p2, a point PE(𝔽p2).
Ensure: L1, L2, L3, L4.
 1: fori ∈ [1, 4] do
 2:    Li ← ⊥
 3: (k1, k2) ← (1, 0)
 4: P2 = O
 5: for 1 ≤ ipλ                    ▹ Build lists L1 and L3
 6:    P1P + P2
 7: for 1 ≤ j < p12do
 8:     L1L1 ∪ {(P1, k1)}
 9:     P1P1 + P; k1k1 + 1
 10: ifi = 1                ▹ Only on the first iteration
 11:     P0P1, k0k1
 12:    P2P1; k2k1
 13: for 1 ≤ j < p12do
 14:     L3L3 ∪ {(QP2, k2)}
 15:     P2P2 + P0; k2k2 + k0
 16: ifi < pλ             ▹ In all iterations except the last one
 17:     L1L1 ∪ {(P2, k2)}
 18:     L3L3 ∪ {(QP2, k2)}
 19: P1P2, k1k2
 20: for 0 ≤ i < rp−(1+λ)                ▹ Build lists L2 and L4
 21:    L2L2 ∪ {(P2, k2)}
 22:    L4L4 ∪ {(−P2, k2)}
 23:    P2P2 + P1, k2k2 + k1

Algorithm 2

RepECDLP(E, P, Q)

Require: An elliptic curve E over 𝔽p2, two points P, QE(𝔽p2).
Ensure: k such that Q = kP.
 1: (L1, L2, L3, L4) ← BuildLists(E, P)
 2: L ← ECJoin(L1, L2)
 3: L′ ← ECJoin(L3, L4)
 4: for allP34 : ∃ k34, (P34, k34) ∈ Ldo
 5:    if ∃ (P12, k12) ∈ L such that P34 = P12then
 6:     returnk12 + k34
  return

Lemma 3.3

The BuildLists procedure constructs lists of sizes

|L1|=|L3|=p12+λand|L2|=|L4|=p(1λ)

inOmaxp12+λ,p(1λ)field operations using memoryOmaxp12+λ,p(1λ).

Proof

We start by proving the time complexity. It is dominated by the runtime of the two main for-loops: the one at line 5, which fills L1 and L3, and the one at line 20, which fills L2 and L4. The first one is iterated pλ times, and each iteration takes time p1/2. Indeed, each iteration consists in a constant number of elementary operations in 𝔽p and two for-loops which are each iterated p1/2, and whose iterations consist in 𝓞(1) elementary operations in 𝔽p. Thus the whole execution of the for-loop line 5 requires to perform Op12+λ operations. The for-loop line 20 is iterated rp−(1+λ) times, and each iterations consists in a constant number of elementary operations over 𝔽p. The claimed complexity follows.

We now show that the memory required is indeed Omax(p12+λ,rp(1+λ)). The memory complexity is dominated by the storage of the four lists. Now, for i ∈ [1, 4], Li contains 𝓞(∣Li∣) elements of 𝔽p. As such, the memory complexity of the whole procedure is 𝓞(maxi (∣Li∣)). Furthermore, |L1|=|L3|=p12+λ and ∣L2∣ = ∣L4∣ = rp−(1+λ). As r = 𝓞(p2), ∣L2∣ = ∣L4∣ = 𝓞(p1−λ), which proves the given complexities.□

Remark 3.4

Notice that the choice λ = 14 implies that all lists have size Op34. However, as we will discuss in section 4, unbalanced list sizes might lead to time improvements.

3.2 Computing the Join

We now need to find a way to check whether a point (x, y) = P1 + P2 satisfies x ∈ 𝔽p, knowing only the coordinates (x1, y1) of P1 and (x2, y2) of P2. We have

x=(y1y2)2(x1x2)2x1x2,and therefore(x1x2)2(x1+x2+x)=y12+y222y1y2

Using Weierstraß’ equation to discard the y1 and y2 terms, we obtain

(x1x2)2(x1+x2+x)f(x1)f(x2)2=4f(x1)f(x2).(2)

We denote x = x(0) + αx(1) where x(0), x(1) are in 𝔽p and where α satisfies α2 = β for some β quadratic non-residue modulo p, and we denote x1=x1(0)+αx1(1),2=x2(0)+αx2(1) accordingly. Having x ∈ 𝔽p implies x(1) = 0. Let us denote by G ∈ 𝔽p2[Y1, Y2, Y3] the polynomial

G(Y1,Y2,Y3)=((Y1Y2)2(Y1+Y2+Y3)f(Y1)f(Y2))24f(Y1)f(Y2).

As each Yi can be expressed as Yi = X2i−1 + αX2i where the Xj variables are over 𝔽p. It follows that there exists a pair of unique polynomials g0 and g1 of 𝔽p[X1X6] such that

g0(X1,,X6)+αg1(X1X6)=G(X1+αX2,X3+αX4,X5+αX6).

Now, for any x1, x2, x ∈ 𝔽p2 satisfying Equation (2)

g0(x1(0),x1(1),x2(0),,x(1))+αg1(x1(0),,x(1))=0.

Taking into account that x = x(0) ∈ 𝔽p, we come up with the following polynomial system in five variables

g0x1(0),x1(1),x2(0),x2(1),x(0):=g0x1(0),x1(1),x2(0),x2(1),x(0),0=0g1x1(0),x1(1),x2(0),x2(1),x(0):=g1x1(0),x1(1),x2(0),x2(1),x(0),0=0.

Computing the elimination ideal of 〈g′0, g′1〉, in the variable x(0), we obtain a polynomial f of constant degree such that for all P1 = (x1, y1), P2 = (x2, y2) summing up to (x, y) with x ∈ 𝔽p, we have

fx1(0),x1(1),x2(0),x2(1)=0.

Remark 3.5

Speaking in terms of ideal and algebraic varieties, we claim that (x1(0),x1(1),x2(0),x2(1))V(〈f〉) = {(z1, …, z4) ∈ Fp4, f(z1, … z4) = 0}. This comes from the fact that by definition 〈f〉 ⊆ 〈g′0, g′1〉, It follows that V(〈g′0, g′1〉) ⊆ V(〈f〉). Since by construction of g′0 and g1,1(0),x1(1),x2(0),x2(1))V(g0,g1), our claim follows.

We are now ready to define the ZJ–Problem, which lies at the heart of our ECDLP algorithm.

Problem 3.6

(ZJ–Problem). Given two lists A and B respectively of points (xA, yA) and (xB, yB) in Fp2, and given a polynomial f of 𝔽p[X1, … X4] compute the list C of all ((xA, yA),(xB, yB)) ∈ A × B such that f(xA, yA, xB, yB) = 0.

We claim that any algorithm solving the ZJ–Problem can be used as the main routine to solve Problem 3.2. Indeed, given our lists L1 and L2 respectively of points P1 = (x1, y1) and P2 = (x2, y2), and given the polynomial f defined as above, we compute the list A of all (x1(0),x1(1)) where x1=x1(0)+αx1(1). Then we compute the list B of all (x2(0),x2(1)) where x2=x2(0)+αx2(1). Now, let us denote by ZeroJoin any algorithm solving the ZJ–Problem. Let C = ZeroJoin(A, B, f).

We claim that for every P1, P2 satisfying P1 + P2 = (x, y) with xFp,((x1(0),x1(1)),(x2(0),x2(1)))C. This comes from the definition of f. However, there may be false positives — meaning tuples ((x1(0),x1(1)),(x2(0),x2(1))) for which f(x1(0)x2(1))=0 holds, but P1 + P2 = (x, y) with x ∉ 𝔽p. Therefore, we need to check the corresponding sum (x, y), while computing the list L. In other words, for all ((x1(0),x1(1)),(x2(0),x2(1)))C, we first retrieve the corresponding (P1, P2) ∈ A × B. Then we compute (x, y) = P1 + P2. If x ∈ 𝔽p, we add (x, y) to L.

This is summarized in Algorithm 3. The following lemma provides a reduction from the ZJ–Problem to Problem 3.2.

Algorithm 3

ECJoin(E, f, L1, L2)

Require: An elliptic curve E over 𝔽p2, two lists of point L1, L2, the polynomial f associated to E.
Ensure: L = {(P0, k1 + k2) : P0 = P1 + P2 = (x, y), (Pi, ki) ∈ Li, i ∈ [1, 2], x ∈ 𝔽p}.
 1: A, B, L ← ⊥
 2: for all (P1, k1) ∈ L1do
 3:   AA{((x1(0),x1(1)),k1)}, where P1 = (x1, y1)
 4: for all (P2, k2) ∈ L2do
 5:   BB{((x2(0),x2(1)),k2)}, where (x2, y2) = P2
 6: C ← ZeroJoin(A, B, f)
 7: for all (i, j) ∈ Cdo
 8:    (P1, k1) ← L1[i], (P2, k2) ← L2[j]
 9:    P0 = (x, y) ← P1 + P2
 10:    ifx ∈ 𝔽pthen
 11:      LL ∪ {(P0, k1 + k2)}

Lemma 3.7

If ZeroJoin solves the ZJ–Problem in time T and memory M, The ECJoin algorithm solves Problem 3.2 in time T and memory M.

Proof

Let us denote by TECJoin the time complexity of the ECJoin algorithm. This algorithm consists of three for-loops and the ZeroJoin procedure. The first for-loop is iterated ∣L1∣ times, and each iteration takes time 𝓞(1). The second for-loop is iterated ∣L2∣ times. Once again each iteration requires a constant number of field operations. Then comes the ZeroJoin procedure which has a runtime T. Finally, the last for-loop requires to perform ∣C∣ iterations, each of them consisting of constant time operations. It follows that:

TECJoin=Omax(|L1|,|L2|,T,|C|).

It is clear that T ≥ ∣C∣, as the list C is built during the ZeroJoin procedure. We claim that T also satisfies T ≥ ∣L1∣ + ∣L2∣, as each of the ∣L1∣ polynomial and each of the ∣L2∣ point have to be considered at least once in order to create C. It follows that

TECJoin=T.

Let us focus on the memory. We denote by MECJoin the memory required by the ECJoin procedure. We have:

MECJoin=Omax(|L1|,|L2|,M,|C|).

Once again it is clear that M ≥ ∣C∣. We also claim that M ≥ ∣L1∣ + ∣L2∣ as our algorithm requires to store lists A and B of respective size ∣L1∣ and ∣L2∣. It follows that MECJoin = M.□

We now reduce the ZJ–Problem to p2–ECDLP.

Theorem 3.8

Under our heuristic, if there exists an algorithm ZeroJoin solving the ZJ–Problem in timeT and memory M, then RepECDLP solves the p2–ECDLP problem in time T and memory M.

Proof

We start by proving the time complexity. The RepECDLP algorithm consists basically of three steps. In the first step the lists Li for i ∈ [1, 4] are created using the BuildLists procedure. According to Lemma 3.3 this can be done in time 𝓞(maxi(∣Li∣)). The second step consists in creating both the join of L1 and L2, and of L3 and L4. According to Lemma 3.7, this takes time T. It remains to search for a collision between two lists. This can be done in time proportional to the size of the two lists provided that they are sorted according to the first component. Under our heuristic, we can assume that the points (x, y) contained in the lists are uniformly distributed over 𝔽p × 𝔽p2, as such the sorting step can be done in time proportional to the size of lists. Recall that T ≥ max(∣Li∣, ∣L∣, ∣L′∣) for the same argument than the one given in the proof of Lemma 3.7. It follows that the time complexity of the whole algorithm is dominated by T.

We claim that the memory complexity is dominated by the one of the ECJoin routines. Indeed as explained before, the space M required by this routine is at least Omax(p12+λ,p1λ,|L|,|L|), which is enough to prove our claim.

For completeness, we now prove that this procedure actually solves the p2–ECDLP problem. For simplicity, we consider only the first component of the lists elements. By construction

Li={kiP,kiTi}if i{1,3}{QkiP,kiTi}if i=2{kiP,kiTi}if i=4.

We claim that L = ECJoin(L1, L2) is the list

L={k12P=(x,y),k12S1,xFp}.(3)

Indeed, by construction, it is obvious that ∀ (x, y) ∈ L, x ∈ 𝔽p. Furthermore (x, y) = k12P for some k12 ∈ 𝓢1 as (x, y) = k1P + k2P = (k1 + k2) P for some (k1, k2) ∈ L1 × L2. It follows that L ⊆ {k12P = (x, y), k12 ∈ 𝓢1, x ∈ 𝔽p}. We show that this is indeed an equality.

Recall that f ∈ 𝔽p [X1, X2, X3, X4] is constructed so that, for all points P1 = (x1, y1), P2 = (x2, y2) ∈ E(𝔽p2), if (x, y) = P1 + P2 satisfies x ∈ 𝔽p then f(x1(0),x1(1),x2(0),x2(1))=0. Now for any Pi = (xi, yj), let us consider the polynomial fi ∈ 𝔽p[X, Y] such that fi(X,Y)=f(xi(0),xi(1),X,Y). It is clear that, for all Pj = (xj, yj) such that Pi + Pj = (x, y) with xFp,fi(xj(0),xj(1))=0. As A is the set of the fi polynomials for all (xi, yi) ∈ L1, and B is the set of the (xj(0),xj(1)) tuples for all (xj, yj) ∈ L2, it follows, from the definition of the ZeroJoin procedure, that if Pi + Pj = (x, y) satisfies that x ∈ 𝔽p, then (i, j) ∈ C = ZeroJoin(A, B). As such {k12P = (x, y), k12 ∈ 𝓢1, x ∈ 𝔽p} ⊆ {Pi + Pj, (i, j) ∈ C}, only those points which indeed satisfy x ∈ 𝔽p are kept in L. A similar argument is used to show that

L={Qk34P=(x,y),k34S2,xFp}.

It remains to show that a representation (k12, k34) of our solution k is contained in the list L × L′. We argue that our algorithm succeeds in solving p2–ECDLP if there is a representation (k12, k34) ∈ 𝓢1 + 𝓢2 of k such that k12P = (x, y) with x ∈ 𝔽p.

It is clear that if there is no such representation of k our procedure fails, as only k12 ∈ 𝓢1 for which k12P = (x, y) with x ∈ 𝔽p are considered. Now, if such a k12 exists, according to Equation 3, k12P is in L. Similarly, if k34 satisfies that Qk34P = (x′, y′) with x′ ∈ 𝔽p, then k34 is in L′. Furthermore, as k12P = Qk34P, it is enough to know that k12 satisfying k12P = (x, y) with x ∈ 𝔽p exists, to ensure that the algorithm recovers the solution.

We also claim that if the elements of E(𝔽p2) are uniformly distributed (as we assume by our heuristic), then on expectation, there exists a representation (k12, k34) which satisfies k12P = (x, y) with x ∈ 𝔽p. First note that the uniform distribution implies

P[xFp|(x,y)=P,S1]=P[xFp]=1p.

We denote by Nrep the number of representation of k as the sum k12 + k34, k12 ∈ 𝓢1, k34 ∈ 𝓢2. In other words Nrep is the number of elements k12 ∈ 𝓢1 such that there exists k34 ∈ 𝓢2, with k12 + k34 = k. We denote by Y the number of surviving representations in L + L′. In other words, Y is the number of k12 ∈ 𝓢1 such that there exists k34 ∈ 𝓢2 with k12 + k34 = k, and such that k12P = (x, y) with x ∈ 𝔽p. By Lemma 3.1, we have

E[Y]=Nrep1p11p.

Therefore for sufficiently large p we expect that one representation survives.□

4 Solving the ZJ–Problem

The running time of our new p2–ECDLP algorithm is dominated by solving the ZJ–Problem. Recall that in the ZJ–Problem we are given two lists A and B consisting respectively of N points (x11, y11) … (x1N, y1N) ∈ Fp2 and M points (x21, y21) … (x2M, y2M) ∈ Fp2, and a polynomial f for which we have to find all roots ((x1i, y1i), (x2j, y2j)) in our lists, that is f(x1i, y1i, x2j, y2j) = 0.

Naively, we can solve the ZJ–Problem in time T = 𝓞(NM). Namely, from the first list A of points (xi, yi) we construct a list Ā of bivariate polynomials

fi(X,Y)=fx1i,y1i,X,Y.

Then we successively evaluate all fi(X, Y) in all M points (x1, y1) … (xM, yM) ∈ Fp2 from the second list B. As each polynomial has constant degree, each of the NM evaluations costs time 𝓞(1). As a result we obtain a list C of all the (fi, (xj, yj)) ∈ Ā × B, such that fi(xj, yj) = 0. Since we have NM = p32, this gives us an ECDLP algorithm with run time O(p32).

Fast Polynomial multiplication

Let I ⊂ [1, M]. Obviously, if

FI(X,Y)=iIfi(X,Y)=0,

then there is an iI with fi (x, y) = 0. This gives rise to the following algorithm.

  1. Partition the set A of polynomials into buckets AI1, AI2, … AIk, for some k ≥ 1, such that fiAI iff iI.

  2. For each I, compute the set BI of points (xj, yj) ∈ B, such that FI(xi, yj) = 0.

  3. For each fiAI, find all (xj, yj) ∈ BI, such that fi(xj, yj) = 0.

Our solution uses fast bivariate polynomial multi-point evaluation, that has on optimal choice N = p, M = p, for which only a single FI = F has to be computed. This special case is given in Algorithm 4. The following multi-point evaluation result is due to Nüsken and Ziegler [12].

Lemma 4.1

([12, Result 4]). For any fixedϵ > 0, a bivariate polynomialf ∈ 𝔽p[X, Y] of degree inX, Yd, specified by its coefficients, can be evaluated simultaneously atMgiven points (x, y) ∈ Fp2, with pair-wise differentx-coordinates usingO(M+d2)dω221+ϵoperations in 𝔽p, whereω2 ≤ 3.257 is the exponent ofn × nbyn × n2matrices multiplications.

We make use of the Schwartz-Zippel Lemma, from which we derive an upper bound on the number of zeroes of F in B in Algorithm 4.

Lemma 4.2

(Schwartz-Zippel). Given a polynomial F ∈ 𝔽p[X, Y] of degree at mostdinX, Y, a random point (x, y) ∈ Fp2is a zero of F with probability

P[F(x,y)=0]dp.

Theorem 4.3

RepECDLP in combination with MultiEval solves p2–ECDLP in time

Algorithm 4

MultiEval(A, B)

Require: A list A of N polynomials of 𝔽p[X, Y] and a list B of p points of Fp2.
Ensure: The list C of all the (fi, (xj, yj)) ∈ A × B such that fi (xj, yj) = 0.
 1: B′, C ← ⊥
 2: Fi=1pfi.
 3: E ← BivariatePolynomialMultipointEvaluation(F, B)
 4: for all 1 ≤ jp: E[j] = 0 do
 5:    B′ ← B′ ∪ {(xj, yj)}
 6: for all fiAdo
 7:    for all (xj, yj) ∈ Bdo
 8:      if fi(xj, yj) = 0 then
 9:        CC ∪ (fi, (xj, yj))
   returnC

Proof

We start by showing that the time complexity of MultiEval is dominated by the bivariate polynomial multi-point evaluation line 3. At this aim, we denote by TF, TE, TB and TC respectively the time complexity required to compute F at line 2, to perform the multi-point evaluation at line 3, to execute the for-loop in line 4 and to execute the for-loop in line 6. The total runtime of the MultiEval procedure is given by

T=max(TF,TE,TB,TC).(4)

First we estimate TF. Notice that the degree of F in X and in Y is bounded by a constant c times p, since F is the product of p polynomials of constant degree in X and Y. It follows that F can be computed in TF = 𝓞̃(p) operations, using fast polynomial multiplication algorithms, where logarithmic factors are hidden in the 𝓞̃.

Next, we have to evaluate this polynomial simultaneously in all the p points. From Lemma 4.1, this takes time Op12(1+ω22)+ϵ for any fixed ϵ > 0.

There is a small twist, however as lemma 4.1 can only be applied for a list of points (x, y) with pair-wise different x-coordinates. Considering that all x are in 𝔽p and that ∣B∣ = p, this condition implies that all elements of 𝔽p are present once and only once as the x-coordinate of an element of B. This is very unlikely. In fact, we proceed as follows. We partition B according to the x-coordinate and apply the Nüsken-Ziegler algorithm with one element of each partition of B. We restart until all elements of each partitions have been processed.

The number of time we have to restart is bounded by the size of the largest partition of B. If the x-coordinated are uniformly distributed over 𝔽p, we can estimate this size, using maximum-load results [11]. We obtain that the number of time we have to restart is with high probability bounded by a constant times logploglogp. Replacing ω2 by the best known bound 3.257 [10], and for ϵ < 10−4, its follows that TE = 𝓞̃(p1.314).

We may assume that for each evaluated value E[j] we kept track of the corresponding (xj, yj). Then building B′ from E requires only to scan through each entry of E once, and add (xj, yj) in B′ for all E[j] = 0 that are encountered. The runtime of this step is thus linear in ∣E∣ = ∣B∣, and therefore TB = 𝓞(p).

The last step consists in evaluating all fi simultaneously in all the point of B′. We proceed in a naive way by taking all the polynomials, one by one, and evaluating each of them simultaneously in all the point of B′. This results in the two entwined for-loops in line 6 and 7. The first one iterates over all the polynomials and thus is iterated p times. The second one iterates over all the points of B′ and thus is iterated ∣B′∣ times. Each iteration of the second loop can be performed in 𝓞(1) as all the fi are of constant degree. It follows that TC= 𝓞(pB′∣).

It remains to estimate ∣B′∣. From Lemma 4.2, for any random (x, y) ∈ Fp2

P[F(x,y)=0]pp.

Assuming that the points of B are uniformly distributed over Fp2, it follows that the expected size Z of B′ satisfies

E[Z]=p,

and thus the expected time complexity of this third step is 𝓞(p). From Equation 4, it follows that

T=Omax(p,p1.314)=Op1.314.

Building the list A of the polynomials fi from the list A of points (xi, yi) and the polynomial f can be done in time linear in ∣A∣ = p, since f has constant total degree. Thus the ZJ–Problem can be solved in time T too. From Theorem 3.8, we can conclude that RepECDLP solves p2–ECDLP in time 𝓞(p1.314).□

We hope that the result of Theorem 4.3 may be further improved. A possible direction is to replace the (unnecessary) multi-evaluation of F by some presumably more efficient zero testing method. An other research direction, as pointed out by one of the reviewers, could be to have a look at a different elliptic curve model than the one of Weierstraß (e.g. Edwards Curve). However, we are not sure whether the problem would become easier in this case.


A. May is funded by DFG under Germany’s Excellence Strategy - EXC 2092 CASA - 390781972.


Acknowledgement

The authors would like to thank the reviewers of NuTMiC 2019 for their useful comments, as well as Andre Esser for proof-reading this paper.

References

[1] Anja Becker, Jean-Sébastien Coron and Antoine Joux, Improved Generic Algorithms for Hard Knapsacks, in: Advances in CryptologyEUROCRYPT 2011 (Kenneth G. Paterson, ed.), Lecture Notes in Computer Science 6632, pp. 364–385, Springer, Heidelberg, Germany, Tallinn, Estonia, May 15–19, 2011.10.1007/978-3-642-20465-4_21Search in Google Scholar

[2] Gerhard Frey and Herbert Gangl, How to disguise an elliptic curve (Weil descent), Talk at ECC98 (1998), 128–161.Search in Google Scholar

[3] Steven D Galbraith and Pierrick Gaudry, Recent progress on the elliptic curve discrete logarithm problem, Designs, Codes and Cryptography78 (2016), 51–72.10.1007/s10623-015-0146-7Search in Google Scholar

[4] Steven D. Galbraith, Florian Hess and Nigel P. Smart, Extending the GHS Weil Descent Attack, in: Advances in CryptologyEUROCRYPT 2002 (Lars R. Knudsen, ed.), Lecture Notes in Computer Science 2332, pp. 29–44, Springer, Heidelberg, Germany, Amsterdam, The Netherlands, April 28 – May 2, 2002.10.1007/3-540-46035-7_3Search in Google Scholar

[5] Steven D. Galbraith and Nigel P. Smart, A Cryptographic Application of Weil Descent, in: 7th IMA International Conference on Cryptography and Coding (Michael Walker, ed.), Lecture Notes in Computer Science 1746, pp. 191–200, Springer, Heidelberg, Germany, Cirencester, UK, December 20–22, 1999.10.1007/3-540-46665-7_23Search in Google Scholar

[6] Pierrick Gaudry, Index calculus for abelian varieties of small dimension and the elliptic curve discrete logarithm problem, Journal of Symbolic Computation44 (2009), 1690 – 1702, Gröbner Bases in Cryptography, Coding Theory, and Algebraic Combinatorics.10.1016/j.jsc.2008.08.005Search in Google Scholar

[7] Pierrick Gaudry, Florian Hess and Nigel P. Smart, Constructive and Destructive Facets of Weil Descent on Elliptic Curves, Journal of Cryptology15 (2002), 19–46.10.1007/s00145-001-0011-xSearch in Google Scholar

[8] Nick Howgrave-Graham and Antoine Joux, New Generic Algorithms for Hard Knapsacks, in: Advances in CryptologyEUROCRYPT 2010 (Henri Gilbert, ed.), Lecture Notes in Computer Science 6110, pp. 235–256, Springer, Heidelberg, Germany, French Riviera, May 30 – June 3, 2010.10.1007/978-3-642-13190-5_12Search in Google Scholar

[9] Taechan Kim and Mehdi Tibouchi, Equidistribution Among Cosets of Elliptic Curve Points in Intervals, 2019, Accepted at NutMic 2019.Search in Google Scholar

[10] François Le Gall, Powers of tensors and fast matrix multiplication, in: Proceedings of the 39th international symposium on symbolic and algebraic computation, ACM, pp. 296–303, 2014.10.1145/2608628.2608664Search in Google Scholar

[11] Michael David Mitzenmacher, The power of two random choices in randomized load balancing, Ph.D. thesis, PhD thesis, Graduate Division of the University of California at Berkley, 1996.Search in Google Scholar

[12] Michael Nüsken and Martin Ziegler, Fast multipoint evaluation of bivariate polynomials, in: European Symposium on Algorithms, Springer, pp. 544–555, 2004.10.1007/978-3-540-30140-0_49Search in Google Scholar

[13] Christophe Petit, Michiel Kosters and Ange Messeng, Algebraic Approaches for the Elliptic Curve Discrete Logarithm Problem over Prime Fields, in: PKC 2016: 19th International Conference on Theory and Practice of Public Key Cryptography, Part II (Chen-Mou Cheng, Kai-Min Chung, Giuseppe Persiano and Bo-Yin Yang, eds.), Lecture Notes in Computer Science 9615, pp. 3–18, Springer, Heidelberg, Germany, Taipei, Taiwan, March 6–9, 2016.10.1007/978-3-662-49387-8_1Search in Google Scholar

[14] Takakazu Satoh, Kiyomichi Araki et al., Fermat quotients and the polynomial time discrete log algorithm for anomalous elliptic curves, Rikkyo Daigaku sugaku zasshi47 (1998), 81–92.Search in Google Scholar

[15] René Schoof, Elliptic curves over finite fields and the computation of square roots mod p, Mathematics of computation44 (1985), 483–494.10.1090/S0025-5718-1985-0777280-6Search in Google Scholar

[16] René Schoof, Counting points on elliptic curves over finite fields, Journal de théorie des nombres de Bordeaux7 (1995), 219–254.10.5802/jtnb.142Search in Google Scholar

[17] Igor Semaev, Evaluation of discrete logarithms in a group of p-torsion points of an elliptic curve in characteristic p, Mathematics of Computation of the American Mathematical Society67 (1998), 353–356.10.1090/S0025-5718-98-00887-4Search in Google Scholar

[18] Igor Semaev, Summation polynomials and the discrete logarithm problem on elliptic curves, Cryptology ePrint Archive, Report 2004/031, 2004, http://eprint.iacr.org/2004/031.Search in Google Scholar

[19] Daniel Shanks, Class number, a theory of factorization, and genera, in: Proc. of Symp. Math. Soc., 1971, 20, pp. 41–440, 1971.10.1090/pspum/020/0316385Search in Google Scholar

[20] Nigel P. Smart, The Discrete Logarithm Problem on Elliptic Curves of Trace One, Journal of Cryptology12 (1999), 193–196.10.1007/s001459900052Search in Google Scholar

Received: 2019-07-10
Accepted: 2020-04-30
Published Online: 2020-08-18

© 2020 C. Delaplace and A. May, published by De Gruyter

This work is licensed under the Creative Commons Attribution 4.0 International License.

Downloaded on 22.1.2025 from https://www.degruyter.com/document/doi/10.1515/jmc-2019-0025/html
Scroll to top button