Efficient quantum algorithms for the principal ideal problem and

A low cost quantum factoring algorithm
D. J. Bernstein, J.-F. Biasse and M. Mosca
University of Illinois
at Chicago
University of
South Florida
University of
Waterloo
Shor’s algorithm
[Shor 94]: There is a quantum factoring algorithm to factor 𝑁.
ο‚§ Runs in polynomial time in log 𝑁.
ο‚§ Requires O(log 𝑁) qubits (2log(𝑁) + 𝑂(1) with [Beauregard 03, Ekerå-Håstad 17])
Question: Is there an algorithm which uses a sublinear number of qubits and still
outperforms the best known classical factoring methods ?
In this work, we describe an algorithm for factoring 𝑁 that
2
3
β€’ Requires Õ (log 𝑁) logical qubits.
β€’ Has a complexity with a better exponent than the Number Field Sieve.
The Number Field Sieve (NFS) algorithm
The best known pre-quantum method to factor 𝑁 runs in heuristic asymptotic time
𝐿𝑝+π‘œ(1) where:
p β‰ˆ 1.902
𝐿 ≔ 𝑒
(log 𝑁)1/3 (log log 𝑁)2/3
This complexity is called β€œsubexponential”. The NFS algorithm is practical for nontrivial key sizes:
ο‚§ Factorization of a 768-bit RSA modulus [Kleinjung et al. 10].
ο‚§ Factorization of 512-bit moduli for $75 with Amazon Cloud [VCLFBH16]
Starting idea: use a quantum NFS variant to achieve a heuristic run time of 𝐿
3
8/3 β‰ˆ 1.387 < 𝑝 β‰ˆ 1.902
3 8
+π‘œ(1)
3
Relation collection in the Number Field Sieve (NFS)
π‘βˆˆβ„€
Search space π‘ˆ
Search for π‘Ž, 𝑏 ∈ π‘ˆ such that 𝑔(π‘Ž, 𝑏)
is a product of primes ≀ 𝑦 where:
β€’ 𝑦 ∈ β„• is a subexponential bound.
β€’ 𝑔 ∈ β„€[𝑋, π‘Œ] depends on 𝑁.
When enough relations are found, they
are used to find 𝑋, π‘Œ ∈ β„€ such that:
𝑋 2 βˆ’ π‘Œ 2 ≑ 0 π‘šπ‘œπ‘‘ 𝑁
a∈ β„€
With good probability, this yields a non
trivial divisor of 𝑁.
Testing the smoothness of an integer
Problem: How do we decide if 𝑔(π‘Ž, 𝑏) is a product of primes ≀ 𝑦 (i.e. 𝑦-smooth) ?
Classical method
β€’ Elliptic Curve Method (ECM)
β€’ Complexity in 𝑒 Õ( log 𝑦)
In the NFS, this
step is negligible
With a quantum computer, we can use Shor’s algorithm
β€’ It runs in polynomial time.
β€’ log(𝑔 π‘Ž, 𝑏 ) ∈ Õ
log 𝑁
2
3
so it requires Õ
log 𝑁
2
3
qubits
Grover’s search algorithm
Suppose there is a polynomial time algorithm represented by the unitary π‘ˆ with
ο‚§ π‘ˆ|π‘Ž, 𝑏 = βˆ’|π‘Ž, 𝑏 if 𝑔(π‘Ž, 𝑏) is 𝑦-smooth.
ο‚§ π‘ˆ|π‘Ž, 𝑏 = |π‘Ž, 𝑏 otherwise.
Then Grover’s algorithm can find π‘Ž, 𝑏 such that x = 𝑔(π‘Ž, 𝑏) is 𝑦-smooth in a range
of π‘˜ elements in time 𝑂( π‘˜)
Challenge: quantum algorithm for the smoothness test with Õ
log 𝑁
2
3
Solution: Use iterations on Shor’s algorithm running ``in superposition’’.
qubits.
Running Shor’s algorithm in superposition
Shor’s algorithm
Let π‘Ž ∈ β„€ of (unknown) order π‘Ÿ modulo π‘₯
Quantum part
π‘Ÿ
2
𝑗
π‘Ÿ
𝑀 𝑗
β‰ˆ
𝑛
2
π‘Ÿ
π‘Ž, π‘₯
π‘Ÿ
2
Measurement
Classical part
Yields a non trivial factor of π‘₯ with probability
1/Ξ©(log log π‘₯)
This work: completely quantum algorithm that
β€’ returns a state that encodes a pair of divisors of π‘₯
β€’ Uses Õ log 𝑁 2/3 qubits when log π‘₯ ∈ Õ log 𝑁 2/3
We get π‘₯
π‘Ž βˆ’1
π‘Ž +1
Smoothness test by iterations of Shor’s algorithm
We have a quantum algorithm that performs |π‘₯ β†’ |π‘₯1 , π‘₯2 where π‘₯ = π‘₯1 π‘₯2
Runs 𝑑 = (log 𝑁)2/3+π‘œ(1) iterations
|π‘₯
1
(1)
2
|π‘₯1 , π‘₯2
(1) (1)
(1)
π‘₯1
π‘₯ = π‘₯1 π‘₯2
(𝑖)
Leaves π‘₯𝑗
Features
2
(2)
|π‘₯1 , π‘₯2 , π‘₯3
=
(2) (2)
π‘₯1 π‘₯2
…
(𝑑)
𝑑
|π‘₯1 , … , π‘₯𝑙
(𝑑)
(𝑑)
π‘₯ = π‘₯1 … π‘₯𝑙
≀ 𝑦 untouched
Keeps them in the first indices
Detects prime powers
(𝑑)
Last test: is π‘₯𝑙
≀𝑦?
Open problem: challenges of fault-tolerant implementations
Standard version of the threshold theorem [Aharonov,Ben-Or 97]:
A logical circuit containing
β€’ π‘š qubits,
β€’ 𝑇 gates
can be replaced by a fault tolerant implementation using
𝑂 π‘š Polylog π‘šπ‘‡ qubits.
Problem: here 𝑇 is subexponential, therefore log 𝑇 ∈ Õ (log 𝑁)1/3 .
β€’ [Gottesman 13]: We can achieve a constant ratio #Physical qubits/#Logical qubits
using quantum error correction with certain properties.
β€’ Some LDPC codes meet these restrictions, but the (classical) decoding algorithms
are inefficient.
Conclusion: other aspects we considered
Smoothness test with quantum ECM
β€’ Same run time.
β€’ Qubit requirement in Õ
DLP in ℀𝒑
β€’ Useful for the precomputation phase
β€’ Useless for individual logarithms
log 𝑁
5/6
Parallel variant of smoothness test
β€’ Separates any two primes with good
probability.
β€’ Unclear if it reduces the run time.
Thank you for your attention