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
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
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
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
We show that A and B are such that ∣A∣ ⋅ ∣B∣ =
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 a ≤ k ≤ b and by [a, b) the set of all integers a ≤ k < 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
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) ∈
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 + t1 … ℓ0 + tM … ℓN + 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
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 r ≈ p2. 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) ∈
Heuristic
For the complexity analysis of our algorithm, we assume that the points of E(𝔽p2) are uniformly distributed over
3.1 Solving p2–ECDLP Using the Representation Technique
First note that every positive integer s can be uniquely decomposed as
by computing first the integer division of s = s2p + s̄ by p, and then the integer division of s̄ = s0 + s1
With respect to this decomposition, we denote by 𝓢1 and 𝓢2 the subsets of [0, r) such that
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
Lemma 3.1
There are at leastp − 1 representations ofkas the sumk1 + k2with (k1, k2) ∈ 𝓢1 × 𝓢2.
Proof
Let k = k0 + k1
We first show that for any k1 ∈ 𝓢11 such that k1 ≤ k, 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 = k̂.
Let k1 ∈ 𝓢11 be arbitrary such that k1 ≤ k. From the definition of 𝓢11, k1 = k0 + k12p. In particular k1 ≤ k means that k2 − k12 ≥ 0, and as k < r, k − k1 ∈ [0, r). Finally we have
Let now k1 ∈ 𝓢12, such that k1 > k. First note that k1 < r < k̂. From the definition of 𝓢12, k1 = k̂0 + k12p, and k̂ − k1 ≥ 0 means that in particular k̂2- k12 ≥ 0. Furthermore as k1 > k, k̂ − k1 = r + k − k1 ∈ [0, r). Finally
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 ≤ k12 ≤ k2, meaning that N1 = k2 + 1. N2 is the number of k1 = k̂0 + k12p such that k2 ≤ k12 <
□
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
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 = Q − k2P = (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
Now let us turn to the tricky part, the computation of L, L′. Let {0 ≤ λ ≤
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.
It has already been argued that all s ∈ ℕ can be uniquely split as s = s0 +
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 = Q − k3P 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 x ∈ L 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 P ∈ E(𝔽p2), compute the list L = {(x, y) = P1 + P2, P1 ∈ L1, P2 ∈ L2, 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 P ∈ E(𝔽p2). |
Ensure: L1, L2, L3, L4. |
1: fori ∈ [1, 4] do |
2: Li ← ⊥ |
3: (k1, k2) ← (1, 0) |
4: P2 = O |
5: for 1 ≤ i ≤ pλ ▹ Build lists L1 and L3 |
6: P1 ← P + P2 |
7: for 1 ≤ j < |
8: L1 ← L1 ∪ {(P1, k1)} |
9: P1 ← P1 + P; k1 ← k1 + 1 |
10: ifi = 1 ▹ Only on the first iteration |
11: P0 ← P1, k0 ← k1 |
12: P2 ← P1; k2 ← k1 |
13: for 1 ≤ j < |
14: L3 ← L3 ∪ {(Q − P2, k2)} |
15: P2 ← P2 + P0; k2 ← k2 + k0 |
16: ifi < pλ ▹ In all iterations except the last one |
17: L1 ← L1 ∪ {(P2, k2)} |
18: L3 ← L3 ∪ {(Q − P2, k2)} |
19: P1 ← P2, k1 ← k2 |
20: for 0 ≤ i < rp−(1+λ) ▹ Build lists L2 and L4 |
21: L2 ← L2 ∪ {(P2, k2)} |
22: L4 ← L4 ∪ {(−P2, k2)} |
23: P2 ← P2 + P1, k2 ← k2 + k1 |
Algorithm 2
RepECDLP(E, P, Q)
Require: An elliptic curve E over 𝔽p2, two points P, Q ∈ E(𝔽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) ∈ L′ do |
5: if ∃ (P12, k12) ∈ L such that P34 = P12then |
6: returnk12 + k34 |
return ⊥ |
Lemma 3.3
The BuildLists procedure constructs lists of sizes
in
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
We now show that the memory required is indeed
Remark 3.4
Notice that the choice λ =
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
Using Weierstraß’ equation to discard the y1 and y2 terms, we obtain
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
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[X1 … X6] such that
Now, for any x1, x2, x ∈ 𝔽p2 satisfying Equation (2)
Taking into account that x = x(0) ∈ 𝔽p, we come up with the following polynomial system in five variables
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
Remark 3.5
Speaking in terms of ideal and algebraic varieties, we claim that
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
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
We claim that for every P1, P2 satisfying P1 + P2 = (x, y) with
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: |
4: for all (P2, k2) ∈ L2do |
5: |
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: L ← L ∪ {(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:
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
Let us focus on the memory. We denote by MECJoin the memory required by the ECJoin procedure. We have:
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
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
We claim that L = ECJoin(L1, L2) is the list
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
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 Q − k34P = (x′, y′) with x′ ∈ 𝔽p, then k34 is in L′. Furthermore, as k12P = Q − k34P, 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
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
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) ∈
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
Then we successively evaluate all fi(X, Y) in all M points (x1, y1) … (xM, yM) ∈
Fast Polynomial multiplication
Let I ⊂ [1, M]. Obviously, if
then there is an i ∈ I with fi (x, y) = 0. This gives rise to the following algorithm.
Partition the set A of polynomials into buckets AI1, AI2, … AIk, for some k ≥ 1, such that fi ∈ AIℓ iff i ∈ Iℓ.
For each Iℓ, compute the set BIℓ of points (xj, yj) ∈ B, such that FIℓ(xi, yj) = 0.
For each fi ∈ AIℓ, 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 =
Lemma 4.1
([12, Result 4]). For any fixedϵ > 0, a bivariate polynomialf ∈ 𝔽p[X, Y] of degree inX, Y ≤ d, specified by its coefficients, can be evaluated simultaneously atMgiven points (x, y) ∈
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) ∈
Theorem 4.3
RepECDLP in combination with MultiEval solves p2–ECDLP in time
Algorithm 4
MultiEval(A, B)
Require: A list A of |
Ensure: The list C of all the (fi, (xj, yj)) ∈ A × B such that fi (xj, yj) = 0. |
1: B′, C ← ⊥ |
2: |
3: E ← BivariatePolynomialMultipointEvaluation(F, B) |
4: for all 1 ≤ j ≤ p: E[j] = 0 do |
5: B′ ← B′ ∪ {(xj, yj)} |
6: for all fi ∈ Ado |
7: for all (xj, yj) ∈ B′ do |
8: if fi(xj, yj) = 0 then |
9: C ← C ∪ (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
First we estimate TF. Notice that the degree of F in X and in Y is bounded by a constant c times
Next, we have to evaluate this polynomial simultaneously in all the p points. From Lemma 4.1, this takes time
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
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
It remains to estimate ∣B′∣. From Lemma 4.2, for any random (x, y) ∈
Assuming that the points of B are uniformly distributed over
and thus the expected time complexity of this third step is 𝓞(p). From Equation 4, it follows that
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∣ =
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.
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 Cryptology – EUROCRYPT 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 Cryptology – EUROCRYPT 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 Cryptology – EUROCRYPT 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
© 2020 C. Delaplace and A. May, published by De Gruyter
This work is licensed under the Creative Commons Attribution 4.0 International License.