Home A subexponential-time, polynomial quantum space algorithm for inverting the CM group action
Article Open Access

A subexponential-time, polynomial quantum space algorithm for inverting the CM group action

  • David Jao EMAIL logo , Jason LeGrow , Christopher Leonardi and Luis Ruiz-Lopez
Published/Copyright: June 14, 2020
Become an author with De Gruyter Brill

Abstract

We present a quantum algorithm which computes group action inverses of the complex multiplication group action on isogenous ordinary elliptic curves, using subexponential time, but only polynomial quantum space. One application of this algorithm is that it can be used to find the private key from the public key in the isogeny-based CRS and CSIDH cryptosystems. Prior claims by Childs, Jao, and Soukharev of such a polynomial quantum space algorithm for this problem are false; our algorithm (along with contemporaneous, independent work by Biasse, Iezzi, and Jacobson) is the first such result.

MSC 2010: 68Q12; 94A60; 14K02

1 Introduction

In recent years, isogeny-based cryptosystems have emerged as a possible candidate for post-quantum cryptography. The earliest isogeny-based key agreement protocol, first proposed by Couveignes [9] and later by Rostovtsev and Stolbunov [18], uses the complex multiplication action of an imaginary quadratic ideal class group cl(𝓞) on an ordinary elliptic curve E(𝔽q); we refer to this scheme as CRS. Very recently, a new isogeny-based proposal called CSIDH [4] has appeared, which is essentially equivalent to CRS except that it uses supersingular elliptic curves, and offers much faster performance. We emphasize that, in terms of security analysis, CRS and CSIDH are completely different from the supersingular case, which was first proposed for use in cryptography by Charles, Goren, and Lauter [5].

Both CRS and CSIDH can be broken (in the sense of a total break — recovery of the private key from the public key) by solving the group action inverse problem [20] on the complex multiplication group action, where the group in question is cl(𝓞). The first published quantum algorithm implementing this attack is the CJS algorithm [7], which breaks CRS and CSIDH in quantum subexponential running time, specifically in Lp(12,12) operations.

The CJS attack also requires a subexponential amount of space, and of greater concern is that the quantum part of the algorithm also requires this much space. Since the history of this topic is convoluted, we present it in detail. The CJS attack consists of two parts: a classical algorithm (subexponential in time and space) to evaluate the complex multiplication action, and a quantum algorithm by Kuperberg to solve the dihedral hidden subgroup problem. The original version of Kuperberg’s quantum algorithm [13] required both subexponential time and subexponential space. Later improvements by Regev [17] and Kuperberg [14] reduced the space requirement to polynomial space. Based on these improvements, CJS [7, Remark 4.6] claimed that the CJS attack could be performed using polynomial quantum space. However, as pointed out by Galbraith and Vercauteuren [11, § 7.0.1], this claim is incorrect, because the classical subexponential algorithm to evaluate the complex multiplication action must be run in quantum superposition, and hence requires subexponential quantum space. The CJS authors have acknowledged this error in an errata on arXiv [6].

In this paper, we present a new algorithm for this problem which really requires only polynomial quantum space. Our algorithm uses a purely classical precomputation costing subexponential time and subexponential space, in which subexponentially slow lattice reduction algorithms are used to obtain a (polynomially long) advice string allowing any element of the class group to be expressed explicitly as a product of polynomially large primes with subexponentially large exponents. This precomputation then allows the complex multiplication action of cl(𝓞) to be computed (both classically and quantumly) using subexponential time but only polynomial space, which is the ingredient needed for a polynomial quantum space group action inverse algorithm.

Couveignes [9], Stolbunov [20], and subsequent authors [10] have all specifically mentioned the use of LLL [15] for the purpose of evaluating the CM action. However, the use of LLL results in a fully exponential approximation factor, which is not good enough for our application. Our results are based on a variant of BKW [2] instead of LLL, and constitute (along with [1]; see below) the first detailed description of how to evaluate the complex multiplication operator in quantum subexponential time using only polynomial quantum space.

1.1 Related work

Recent work by Bonnetain and Schrottenloher [3] makes a detailed analysis of the security of CSIDH, by assessing the effectivenes of using lattice reduction algorithms, in particular BKZ [19], for the evaluation of the action of the class group. Their emphasis is on practical attacks rather than theoretical analysis.

Independent work of Biasse et al. [1] describes a quantum algorithm to evaluate the action, also requiring subexponential time and polynomial quantum space. Moreover, [1] presents a further time-space tradeoff to evaluate the action using only polynomial classical space. Compared to their work, our work provides a more self-contained description of the quantum processing steps.

2 Preliminaries

For an imaginary quadratic order 𝓞, denote by 𝓔ℓℓp(𝓞) the set of isomorphism classes of elliptic curves defined over 𝔽p with endomorphism ring isomorphic to 𝓞. Let E be a curve in 𝓔ℓℓp(𝓞). We have OZQ=Q(Δa)= = K where Δ = disc(𝓞). Denote the ideal class group of 𝓞 by cl(𝓞). For an ideal 𝔞, we use [𝔞] to denote the equivalence class of 𝔞 in cl(𝓞). We may omit the [] when the meaning is clear from context.

The explicit group structure and even the size of the ideal class group can be difficult to compute classically. However, heuristically we can assume |cl(O)|Δ for elliptic curves over 𝔽p. When Δ is a non-zero square modulo a prime , then the ideal 𝓞 splits into a product of conjugates 𝔩𝔩. Such primes are called Elkies primes and we can explicitly write 𝔩 as (, πλ) where λ is an eigenvalue of the Frobenius map acting on the -torsion subgroup E[] of E. Set E[𝔞] = {PE : ∀ ψ ∈ 𝔞, ψ(P) = ∞}. When 𝓞 is an imaginary quadratic order and 𝓔ℓℓp(𝓞) is non-empy, there is a group action by cl(𝓞) called complex multiplication via

cl(O)×Ep(O)Ep(O)([a],E)aE=E/E[a],

There is more than one way to evaluate the action of the ideal class group in practice, and most methods use some form of randomness. Since we will be implementing this action on a quantum computer, we choose one in particular [4, § 8, Algorithm 2] which can most easily be modified to set randomness beforehand. Note that the ideals 𝔩i = (i, π − 1) have kernel in 𝔽p while the kernel of 𝔩i = (i, π + 1) is typically defined over 𝔽p but has some elements lying in 𝔽p2/𝔽p.

Given two probability density functions χ1, χ2 over a finite set X, their statistical distance is defined as ∑xXχ1(x) − χ2(x)∣.

3 Smooth expression of generators of the class group

Suppose cl(𝓞) is a cyclic group (cf. Section 3.1) of size N and with generator g. We describe a procedure to find, for each positive integer j, an expression g2j=i=1tliei, with ∣ei∣ sub-exponential with respect to log N. Here the 𝔩i, i = 1, …, t denote the first t ideals lying over Elkies primes. The idea of the algorithm is to find enough samples of the form gk=i=1tliei where the ei are chosen at random and sub-exponentially large, and then use a BKW-like algorithm to express g2j as a subexponentially short product of the samples gk.

3.1 Restriction to the cyclic case

We assume the class group cl(𝓞) is cyclic. In general, the class group is not always cyclic, but heuristically it is cyclic in the vast majority of cases (97% of the time per Cohen-Lenstra [8]), and this case is easier to analyze. We conjecture that standard techniques such as [7, Appendix A] could be used to extend to the non-cyclic case.

3.2 Expander graphs

It is known [12, Theorem 3.2] that isogeny graphs for (isomorphism classes of) elliptic curves with complex multiplication by some imaginary quadratic order 𝓞Δ where the edges are all isogenies with prime degree less than some fixed bound (log∣ Δ∣)B are in fact expander graphs. The following well-known result about expander graphs then tells us about the distribution of elliptic curves chosen from this set by taking short random walks.

Lemma 3.1

([12, Lemma 2.1]). LetΓbe a finited-regular graph for which the non-trivial eigenvaluesλof the adjacency matrix are bounded byλ∣ ≤ c, for somec < d. LetSbe any subset of the vertices ofΓ, andvany vertex inΓ. A random walk of any length at leastlog2Γ/S1/2logd/cstarting fromvwill land inSwith probability between12SΓand32SΓ.

When creating the initial state (cf. Section 4.2) we sample values 0 ≤ k ≤ ∣cl(𝓞)∣. First, we solve gai = 𝔩i for each 1 ≤ it in terms of our generator g. If we choose random (e1, …, et) with ∣ ei∣ ∈ O(log 4N), then we can solve gk=i=1tliei by k=i=1taiei. The above lemma about expander graphs tells us that these k’s are chosen nearly uniformly at random from the range {1, …, N}. Notice that keeping the values of ei bounded by this polynomial in log N still yields subexponentially many samples for k. Lastly we use a version of the BKW algorithm to compute g2=i=1tliei, where the exponents are subexponential in logN. In the next section we describe this algorithm in the general case.

3.3 A BKW-like algorithm

Let n=logN. The following two lemmas describe the iterative part of the BKW algorithm. The idea of both algorithms is to take as input a collection of uniformly chosen positive integers bounded by N ≈ 2n2, and reduce the number of non-zero coefficients of their expression in base 2n.

Lemma 3.2

(Upper compression). Letk ∈ [0, …, n − 1], letc > 0 and letm = (c + 1) 2n. There exists an algorithm that takes as inputa = (a1, …, am) ∈ [0, …, 2n(k+1) − 1]mand outputsb = ((v1, w1, b1), …, (vm, wm, bm)) wherebi = awiavi < 2nkandm′ ≥ c(2n).

Proof

For each i ∈ [0, …, 2n − 1] let Bi be the set of pairs (av, v) such that i2knav mod 2(k+1)n, let ci = max {a : (a, v) ∈ Bi} and wi be such that (ci, wi) ∈ Bi. Note that for any (av, v) ∈ Bi, we have 0 ≤ ci - av ≡ 0 mod 2(k+1)n. The output of the algorithm is a vector consisting of the tuples (v, wi, ci - av), with (av, v) ∈ Bi ∖ {(ci, wi)}, for each i ∈ [0, …, 2n − 1].□

Lemma 3.3

(Lower compression). Letk ∈ [0, …, n − 1], letc > 0 and letm = (c + 1) 2n. There exists an algorithm that on input a vectora = (a1, …, am) ∈ 2knmoutputs a vectorb = ((v1, w1, b1), …, (vm, wm, bm)) where 2nk+1bi = awiaviandm′ ≥ c(2n).

Proof

For each i ∈ [0, …, 2n − 1] let Bi be the set of pairs (av, v) such that i2knav mod 2(k+1)n, let ci = max{a : (a, v) ∈ Bi} and wi be such that (ci, wi) ∈ Bi. Note that for any (av, v) ∈ Bi, we have 0 ≤ ciav ≡ 0 mod 2(k+1)n. The output of the algorithm is a vector consisting of the tuples (v, wi, ciav), with (av, v) ∈ Bi ∖ {(ci, wi)}, for each i ∈ [0, …, 2n − 1].□

For our purposes, we assume that the input of these algorithms is drawn from the uniform distribution [see subsection 3.2]. Suppose that one of the compression algorithms is called on an input a whose entries are sampled uniformly random from [0, …, 2kn − 1]. Notice that for any i ∈ [0, …, 2n−1], the expected cardinality of Bi is (c + 1); therefore the expected value of ci = max {a : (a, v) ∈ Bi} is at least c+1c+22n. This implies that the statistical distance of the distribution cia and uniform is 2(1c+1c+2). By summing over all i, the expected statistical distance of the output distribution and uniform is at most 2n+1(1c+2).

Now our aim is to write 2, for ∈ [0, …, n2 − 1], as a short linear combination of the given samples. The idea is to write = nq + r, and call the lower compression algorithm q times and the upper compression algorithm nq + 1 times, to obtain samples of the form a2nq, and find a = 2r among the samples.

Proposition 3.4

(Iteration). Let ∈ [0, …, n2 − 1] and letm = 23n. There exists an algorithm 𝓐 that takesa = (a1, …, am) as input, and outputs a vectors ∈ ℤmsuch thata, s〉 = 2, and whose expected infinity normsis bounded by 2n.

Proof

Let = nq + r with 0 ≤ r < n. Let 𝓐′, 𝓐″ be the algorithms described in lemmas 3.2 and 3.3, respectively. The algorithm 𝓐 starts by initializing a(0) = (a1, …, am). For i = 1, …, q, 𝓐 calls 𝓐″ on input a(i−1) to obtain an output b(i)=((v1(i),w1(i),b1(i)),,(vm(i)(i),wm(i)(i),bm(i)(i))) and sets a(i)=(b1(i),,bm(i)(i)). For j = 0, …, nq + 2, the algorithm calls 𝓐 on input a(i+j) to obtain an outputb(i+j)=((v1(i+j),w1(i+j),b1(i+j)),,(vm(i+j)(i+j),wm(i+j)(i+j),bm(i+j)(i+j))) and sets a(i+j)=(b1(i+j),,bm(i+j)(i+j)). By lemmas 3.2 and 3.3, the length m(n−1) of b(n−1) is (22nn + 1)2n, and its entries are of the form a2nq, for a ∈ [0, …, 2n − 1]. Moreover, following the dicussion above, the distribution of a in this set is statistically close to uniform; therefore we can find 2 with high probability. Without loss of generality assume a0(n1)=2; then by definition we have that 2 is written as a difference of two entries of a(n−2). Following this recursively, after n − 1 steps we can find 2 as a linear combination of 2n (possibly repeated) entries of a. Hence the largest coefficient of the linear combination is bounded by 2n.

Each of the compression steps takes O(23n) in time and 23n in space. Therefore the overall complexity is O((n − 1)23n) in time and space.□

4 The Algorithm

4.1 Quantumly Instantiating the Action of cl(𝓞) in Polynomial Space

Since [4, Alg. 2] for computing the action of cl(𝓞) on 𝓔ℓℓp(𝓞) is not amenable to being instantiated quantumly, we present a modified algorithm here. While [4, Alg. 2] succeeds with probability 1 but has variable time, our algorithm has (tunable) fixed time but succeeds with (tunable) probability less than 1.

To begin, we give an algorithm for computing EB = 𝔩±1EA for prime . We emphasize that this (classical) algorithm is designed with translation to a quantum algorithm—rather than efficiency—in mind.

Algorithm 1 succeeds if and only if there is i* ∈ {1, 2, …, r} such that

1.xi3+Axi2+xip=(1)s;and,2.ordEA(Pi).

For uniformly random x, these conditions hold with probability 12 and 1, respectively, since E(𝔽p) ≅ Z/4Zk=1tZ/kZ. Thus the total probability that Algorithm 1 succeeds is 1(+12)r. Later we shall choose a value of k so that our final quantum algorithm succeeds with sufficient probability.

Next we build upon Algorithm 1 to construct an algorithm which computes EB = 𝔩±eEA for e ∈ ℕ. It is easy to see that Algorithm 2 succeeds with probability (1(+12)r)e.

Algorithm 1

A classical algorithm for computing 𝔩(−1)sEA for prime , suitable for implementing on a quantum computer.

Input: A ∈ 𝔽p, and s ∈ {0, 1}
Output: B ∈ 𝔽p such that 𝔩(−1)sEA = EB, where EB : y2 = x3 + Bx2 + x
1: x1, x2, …, xrU(𝔽p), c ← 0
2: for i from 1 to r by 1 do
3:     yixi3+Axi2+xi                 ▹ In the extension field 𝔽p2.
4:     Pi(xi,yi),Qip+1Pi
5:     if(xi3+Axi2+xip)=(1)s and Qi ≠ ∞ and c = 0 then
6:       Compute B, where ϕ: EAEB: y2 = x3 + Bx2 + x is an isogeny with ker ϕ = 〈 Qi
7:     end if
8:     if(xi3+Axi2+xip)=(1)s and Qi ≠ ∞ then
9:       cc + 1
10:     end if
11: end for

Algorithm 2

A classical algorithm for computing 𝔩(−1)seEA for prime , suitable for implementing on a quantum computer.

Input: A ∈ 𝔽p, s ∈ {0, 1}, and e ∈ ℕ
Output: B ∈ 𝔽p s.t. 𝔩(−1)seEA = EB, where EB : y2 = x3 + Bx2 + x
  1: x1, x2, …, xrU(𝔽p), e′ ← e, BA
  2: forj from 1 to e by 1 do
  3:   ife′ > 0 then
  4:     BC, where 𝔩(−1)sEB = EC : y2 = x3 + Cx2 + x, computed using random values x1, x2, …, xr.
  5:   end if
  6:   e′ ← e′ − 1
  7: end for

Algorithm 3

An algorithm for computing l1(1)s1e1l2(1)s2e2lt(1)stetEA for primes 1, 2, …, t, suitable for implementing on a quantum computer.

Input: A ∈ 𝔽p, s ∈ {0, 1}t, and e ∈ ℕt
Output: B ∈ 𝔽p such that l1(1)s1e1l2(1)s2e2lt(1)stetEA=EB, where EB: y2 = x3 + Bx2 + x
  1: x1, x2, …, xrU(𝔽p)
  2: for k from 1 to t by 1 do
  3:   BC, where lk(1)skekEB=EC:y2=x3+Cx2+x, computed using random values x1, x2, …, xr.
  4: end for

Finally, Algorithm 3 computes l1±e1l2±e2lt±etEA.

Then P[Algorithm 2 succeeds] = k=1t1k+12krek(1(34)r)e1. From here we briefly describe how to instantiate this quantumly. First we describe the quantum instantiation of Algorithm 1. For brevity of notation we consider an input ∣s〉∣EA〉∣0〉 which is not in superposition, but of course the algorithm extends linearly to superpositions. Before the quantum part of the algorithm begins, we sample x1, x2, … xrU(𝔽p) classically and include them as part of the initial state. We will use them in the quantum instantiation of all three algorithms.

  1. In the notation of Algorithm 1, write (Qi)i=1r to a new register to obtain

    sEAx1,x2,,xrQ1,Q2,,Qr0
  2. In the notation of Algorithm 1, define wi = 1 if (xi3+Axi2+xip)=(1)s and Qi ≠ ∞, and wi = 0 otherwise. Write w1, w2, … wr to a new register to obtain

    sEAx1,x2,,xrQ1,Q2,,Qrw1,w2,,wr0.

    This can be done by writing the results of each of the Boolean functions x3+Ax2+xp=(1)s and [Qi ≠ ∞] to new registers, applying a Toffoli gate from these registers onto another new register, and then uncomputing the results of the two Boolean functions.

  3. Set aside a new 0-initialized register to contain c. For i = 1, 2, …, r apply Vélu’s formulas [21] conditioned on wi = 1 and c = 0, and increment c conditioned on wi = 1. Essentially, we look down the list of points until we find xi* which is “appropriate” (has wi = 1) and, when we find the first appropriate point, we set a flag which indicates that we have computed 𝔩∗ EA, and so we should not compute more. The resultant state is

    sEAx1,x2,,xrQ1,Q2,,Qrw1,w2,,wrc^lEA0.

    where ĉ counts the number of wi which are equal to 1.

  4. Uncompute ĉ by subtracting 1 from it conditioned on wi = 1, for i = r, r − 1, …, 1. Then uncompute (Qi)i=1r and (wi)i=1r by reversing the circuit of step (ii). Rearranging the registers, the final state is ∣s〉∣EA〉∣𝔩∗ EA〉∣x1, x2, …, xr〉∣0〉, as required.

For fixed , call the algorithm above Q(1). We shall use it is a subroutine in the quantum instantiation of Algorithm 2. For input ∣s〉∣e〉∣EA〉∣x1, x2, …, xr〉∣0〉:

  1. Conditioned on register 2 being positive, apply Q(1) to registers 1, 3, and 4 targetting a new register. Then decrement register 2, yielding

    se1EAx1,x2,,xrl(1)sEA0
  2. Swap registers 2 and 5, and conditioned on register 2 being positive, apply Q(1) again to registers 1, 2, 3, and 4 targetting a new register. Decrement register 2 to obtain

    se2|l(1)sEAx1,x2,,xrEA|l(1)s2EA0.
  3. Given a state ∣s〉∣ez〉∣𝔩(−1)s(z−1)EA〉∣x1, x2, …, xr〉∣EA〉∣𝔩(−1)szEA〉∣0〉 swap registers 3 and 6, and apply the Pauli X to register 1. This yields ∣1 − s〉∣ez〉∣𝔩(−1)sz〉∗ EAx1, x2, …, xr〉∣EA〉∣𝔩(−1)s(z−1)EA〉∣0〉. Apply Q(1) to registers 1, 2, 3, and 4 targetting register 6 conditioned on register 2 being positive. Notice that the output of Q(1) in this case is 𝔩(−1)s(z−1)EA since we are applying 𝔩−(−1)s in this case. This effectively erases the contents of register 6. We can then apply Pauli X to register 1 again, and, conditioned on register 2 being positive, we apply Q(1) and decrement register 2 to obtain ∣s〉∣e − (z + 1)〉∣𝔩(−1)szEA〉∣x1, x2, …, xr〉∣EA〉∣𝔩(−1)s(z+1)〉∗ EA0

  4. Repeat step (iii) L − 2 times, where Le. The result is

    seL|l(1)s(e1)EAx1,x2,,xrEA|l(1)seEA0

    Copy register 6 onto a new register to obtain

    seL|l(1)s(e1)EAx1,x2,,xrEA|l(1)seEA|l(1)seEA0.

    From here, we can simply reverse the iterations of step (iii) and steps (ii) and (i), erasing the anciliary registers. Rearranging registers yields

    seEA|l(1)seEAx1,x2,,xr0, as required.

For fixed 𝔩, call this algorithm Q(L) To evaluate l1(1)s1e1l2(1)s2e2lt(1)stetEA, it suffices to apply each Qi(Li) in turn to the appropriate registers of

s1,s2,,ste1,e2,,etEAx1,x2,,xr0

where Liei. It is easy to see that this computes the correct value.

Remark 4.1

When we want to compute the action in superposition, we need to apply Q(L) for L greater than all the e values supported in the superposition. For unknown states, this is not possible, but for our purposes it suffices to be able to compute the action for known superpositions; we can then choose L appropriately.

4.2 Constructing the States

In this subsection we show how to use the algorithms previously described to construct the states required to apply Kuperberg’s algorithm.

Given curves E = EA : y2 = x3 + Ax2 + x and E′ = EB : y2 = x3 + Bx2 + x where EB = 𝔞∗ EA, and 𝔞 = ga, Kuperberg’s algorithm uses states of the form ψk:=120+exp2πiakN1 for k sampled uniformly at random from {0, 1, …, N − 1}.

Using the method described in Section 3 we can construct a table {(2j,v(j))N×Zt}j=1n with ∥v(j) = 2O(n) and [g2j]=[l1v1(j)l2v2(j)ltvt(j)] for 1 ≤ jN. From this table, we construct the following quantum circuit, which converts from “cyclic notation” gm to “prime decomposition notation” l1v1l2v2ltvt:

where m = mnm1m0 is the bit decomposition of m, and v(m) satisfies [gm]=[l1v1(m)l2v2(m)ltvt(m)]. This circuit can be implemented in polynomial space using standard techniques. Using this circuit and the one from Section 4.1, we can give a complete algorithm for constructing the states ∣ψk〉.

  1. Construct the state Ψ0=(2N)12m=0N1m00+m10.

  2. Apply C to the first and third registers above to obtain

    Ψ1=(2N)12m=0N1m0v(m)0+m1v(m)0.
  3. Apply the gate ∣0, y〉 ↦ ∣0, yEB〉, ∣1, y〉 ↦ ∣1, yEA〉 to the second and fourth registers above to obtain

    Ψ2=(2N)12m=0N1m0v(m)EB0+m1v(m)EA0.
  4. Apply the class group action gate to registers three, four, and five. If it is successful for each m, the resultant state is

    Ψ3=(2N)12m=0N1m0v(m)EB|l1v1(m)l2v2(m)ltvt(m)EB0+m1v(m)EAl1v1(m)l2v2(m)ltvt(m)EA0.
  5. Measure the fifth register. This gives a curve EC, and the state will collapse to

    Ψ4=212m0v(m)EB0+m+a1v(m+a)EA0,

    and a satisfies gaEA = EB.

  6. Apply C again to uncompute the v-values, and discard the (now empty) third register to obtain ∣Ψ5〉 = 212 (∣m〉∣0〉∣EB〉∣0〉 + ∣m + a〉∣1〉∣EA〉∣0〉) for unknown random m.

  7. Apply the Quantum Fourier Transform over ℤ/Nℤ to the first register to obtain

    Ψ6=(2N)12k=0N1ωmkk0EB0+ω(m+a)kk1EA0,

    where ω=exp2πiN.

  8. Measure the first register to get a uniformly random k and the state

    Ψ7=212ωmk0EB0+ωak1EA0.
  9. Uncompute EA and EB using the gate from part (iii), and discard auxiliary qubits to yield

    212ωmk0+ωak1ψk,

    as required.

Remark 4.2

In step (iv) we evaluate the class group action on a uniform superposition over cl(𝓞) × ℤ/2ℤ (with the second coordinate determining to which curve we apply the element of cl(𝓞)) with fixed randomness for each such input, using the prime decomposition presentation of the group elements. We find that the probability of evaluating the function correctly over the entire superposition is

hcl(O)k=1t(1(k+12k)r)|vk(h)|(134r)Nmaxhcl(O)v(h)1134rNmaxhcl(O)v(h)11O(2logN) for r=Ω(log2.5N);

in particular, the success probability is negligibly different from 1 using only a polynomial number of random points {xi}i.

4.3 Using the States to Find the Hidden Shift

Now that we have a method to obtain states of the form ∣ψk〉 for uniformly random k, we can apply Regev’s sieve [16][1] to extract the states ∣ψ1〉, ∣ψ2〉, …, ∣ψ2m−1〉 where m = ⌈log2N⌉. Unlike Kuperberg’s original algorithm [13], Regev’s sieve requires only polynomial quantum storage.

From here we proceed using [13, Remark 5.2]; we note that k=0m1|ψ2k=2m2y=02m1ωayy and FNa〉 = N12y=0N1ωayy where FN is the quantum Fourier transform. Since these states have inner product 2kN=Ω(1) and this inner product is preserved by the inverse Fourier transform, it follows that measuring FNj=0k1ψ2j in the computational basis will yield a with probability ω(1).

4.4 Time and Space Analysis

We briefly explain the time and space analysis of the algorithms. The classical portions of the algorithm are:

  1. Generating a subexponential number m of samples i=1taiei = k, for small random ei and known ai = logg 𝔩i.

  2. Using a BKW-like algorithm to find an expression j=1msjkj = 2, with sj subexponential and kj from the given samples above. Its time and space complexity is O(23logN)

As for the quantum portion, we have:

  1. For a given , algorithm 1 runs in time O(r log p) and uses quantum space O(r log p) = O(log2.5N log p).

  2. For Algorithm 2, we repeat Algorithm 12O(logN) times. So this algorithm runs in time

    O(rmaxlogp)2O(logN)=2O(logN)

    (for r, max, log p = 2o(logN)) and space O(log2.5N log p).

  3. For Algorithm 3, apply Algorithm 2t times. This requires time 2O(logN)(for t=2o(logN)) and space O(log2.5N log p).

  4. Each sample in Regev’s algorithm [16] invokes Algorithm 3 once, and so all our calls to Algorithm 3 take total time 2O(logNloglogN). The space complexity is O(log3NlogploglogN).

Acknowledgement

This research was facilitated by the Banff International Research Station (BIRS) Workshop on “An Algebraic Approach to Multilinear Maps for Cryptography,” May 6 to 11, 2018. We thank Daniel J. Bernstein, Jean-François Biasse, Xavier Bonnetain, Steven Galbraith, Tanja Lange, Barak Shani and Mark Zhandry for helpful discussions, and the referees for useful feedback.

This research was undertaken thanks in part to funding from the Canada First Research Excellence Fund, CryptoWorks21, Public Works and Government Services Canada, and the Royal Bank of Canada.

References

[1] Jean-François Biasse, Annamaria Iezzi and Michael J. Jacobson Jr., A note on the security of CSIDH, 2018.Search in Google Scholar

[2] Avrim Blum, Adam Kalai and Hal Wasserman, Noise-tolerant Learning, the Parity Problem, and the Statistical Query Model, J. ACM50 (2003), 506–519.10.1145/335305.335355Search in Google Scholar

[3] Xavier Bonnetain and André Schrottenloher, Quantum Security Analysis of CSIDH and Ordinary Isogeny-based Schemes, Cryptology ePrint Archive, Report 2018/537, 2018, https://eprint.iacr.org/2018/537.Search in Google Scholar

[4] Wouter Castryck, Tanja Lange, Chloe Martindale, Lorenz Panny and Joost Renes, CSIDH: An Efficient Post-Quantum Commutative Group Action, Cryptology ePrint Archive, Report 2018/383, 2018, https://eprint.iacr.org/2018/383.10.1007/978-3-030-03332-3_15Search in Google Scholar

[5] Denis X. Charles, Kristin E. Lauter and Eyal Z. Goren, Cryptographic Hash Functions from Expander Graphs, Journal of Cryptology22 (2009), 93–113.10.1007/s00145-007-9002-xSearch in Google Scholar

[6] Andrew Childs, David Jao and Vladimir Soukharev, Constructing elliptic curve isogenies in quantum subexponential time, eprint arXiv:quant-ph/0406151, 2010, https://arxiv.org/abs/1012.4019v3.Search in Google Scholar

[7] Andrew Childs, David Jao and Vladimir Soukharev, Constructing elliptic curve isogenies in quantum subexponential time, J. Math. Cryptol8 (2014), 1–29.10.1515/jmc-2012-0016Search in Google Scholar

[8] Henri Cohen and Hendrik W. Lenstra Jr., Heuristics on class groups of number fields, Number theory, Noordwijkerhout 1983 (Noordwijkerhout, 1983), Lecture Notes in Math. 1068 (1984), 33–62.10.1007/BFb0099440Search in Google Scholar

[9] Jean-Marc Couveignes, Hard Homogeneous Spaces, Cryptology ePrint Archive, Report 2006/291, 2006, https://eprint.iacr.org/2006/291.Search in Google Scholar

[10] Luca De Feo, Jean Kieffer and Benjamin Smith, Towards practical key exchange from ordinary isogeny graphs, Cryptology ePrint Archive, Report 2018/485, 2018, https://eprint.iacr.org/2018/485.Search in Google Scholar

[11] Steven D. Galbraith and Frederik Vercauteren, Computational problems in supersingular elliptic curve isogenies, Cryptology ePrint Archive, Report 2017/774, 2017, https://eprint.iacr.org/2017/774.Search in Google Scholar

[12] David Jao, Stephen D. Miller and Ramarathnam Venkatesan, Expander graphs based on GRH with an application to elliptic curve cryptography, J. Number Theory129 (2009), 1491–1504.10.1016/j.jnt.2008.11.006Search in Google Scholar

[13] Greg Kuperberg, A Subexponential-Time Quantum Algorithm for the Dihedral Hidden Subgroup Problem, SIAM Journal on Computing35 (2005), 170–188.10.1137/S0097539703436345Search in Google Scholar

[14] Greg Kuperberg, Another Subexponential-time Quantum Algorithm for the Dihedral Hidden Subgroup Problem, in: 8th Conference on the Theory of Quantum Computation, Communication and Cryptography (TQC 2013) (Simone Severini and Fernando Brandao, eds.), Leibniz International Proceedings in Informatics (LIPIcs) 22, pp. 20–34, Schloss Dagstuhl, Dagstuhl, Germany, 2013.Search in Google Scholar

[15] Arjen K. Lenstra, Hendrik W. Lenstra and László Lovász, Factoring polynomials with rational coefficients, Mathematische Annalen261 (1982), 515–534 (English).10.1007/BF01457454Search in Google Scholar

[16] Oded Regev, A Subexponential Time Algorithm for the Dihedral Hidden Subgroup Problem with Polynomial Space, eprint arXiv:quant-ph/0406151 (2004).Search in Google Scholar

[17] Oded Regev, A Subexponential Time Algorithm for the Dihedral Hidden Subgroup Problem with Polynomial Space, 2004.Search in Google Scholar

[18] Alexander Rostovtsev and Anton Stolbunov, Public-Key Cryptosystem Based on Isogenies, IACR Cryptology ePrint Archive2006 (2006), 145.Search in Google Scholar

[19] Claus-Peter Schnorr and M. Euchner, Lattice basis reduction: Improved practical algorithms and solving subset sum problems, Mathematical Programming66 (1994), 181–199.10.1007/3-540-54458-5_51Search in Google Scholar

[20] Anton Stolbunov, Constructing public-key cryptographic schemes based on class group action on a set of isogenous elliptic curves, Adv. Math. Commun. 4 (2010), 215–235.10.3934/amc.2010.4.215Search in Google Scholar

[21] Jacques Vélu, Isogénies entre courbes elliptiques, C. R. Acad. Sci. Paris Sér. A-B273 (1971), 238–241.Search in Google Scholar

Received: 2020-02-05
Accepted: 2020-02-14
Published Online: 2020-06-14

© 2020 D. Jao et al., published by De Gruyter

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

Articles in the same Issue

  1. MathCrypt 2018
  2. Preface to the First Annual MathCrypt Proceedings Volume
  3. Multiparty Non-Interactive Key Exchange and More From Isogenies on Elliptic Curves
  4. Recovering Secrets From Prefix-Dependent Leakage
  5. Quasi-subfield Polynomials and the Elliptic Curve Discrete Logarithm Problem
  6. A signature scheme from the finite field isomorphism problem
  7. Efficiently Processing Complex-Valued Data in Homomorphic Encryption
  8. Flattening NTRU for Evaluation Key Free Homomorphic Encryption
  9. Self-dual DeepBKZ for finding short lattice vectors
  10. Designing Efficient Dyadic Operations for Cryptographic Applications
  11. Characterizing overstretched NTRU attacks
  12. New Techniques for SIDH-based NIKE
  13. A subexponential-time, polynomial quantum space algorithm for inverting the CM group action
  14. Nutmic JMC Special Edition
  15. Preface for the Number-Theoretic Methods in Cryptology conferences
  16. A framework for cryptographic problems from linear algebra
  17. Improved cryptanalysis of the AJPS Mersenne based cryptosystem
  18. New number-theoretic cryptographic primitives
  19. New Zémor-Tillich Type Hash Functions Over GL2 (𝔽pn)
  20. Protecting ECC Against Fault Attacks: The Ring Extension Method Revisited
  21. Hash functions from superspecial genus-2 curves using Richelot isogenies
  22. Can we Beat the Square Root Bound for ECDLP over 𝔽p2 via Representation?
  23. A variant of the large sieve inequality with explicit constants
  24. CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes
  25. Equidistribution Among Cosets of Elliptic Curve Points in Intervals
  26. Integer factoring and compositeness witnesses
  27. Short Principal Ideal Problem in multicubic fields
  28. Algorithms for CRT-variant of Approximate Greatest Common Divisor Problem
  29. Orienting supersingular isogeny graphs
  30. Delegating a Product of Group Exponentiations with Application to Signature Schemes (Submission to Special NutMiC 2019 Issue of JMC)
  31. Complexity bounds on Semaev’s naive index calculus method for ECDLP
  32. Regular Articles
  33. An elementary proof of Fermat’s last theorem for all even exponents
  34. Retraction of: An elementary proof of Fermat’s Last Theorem for all even exponents
  35. Survey on SAP and its application in public-key cryptography
  36. Privacy-preserving verifiable delegation of polynomial and matrix functions
  37. New approach to practical leakage-resilient public-key cryptography
Downloaded on 7.9.2025 from https://www.degruyterbrill.com/document/doi/10.1515/jmc-2015-0057/html?srsltid=AfmBOoo4AZxe4dR14fqtXzx1CmDDu0OyRj3qzhgnx97EnEOISjVOrM2q
Scroll to top button