The most important computational problem on lattices is the Shortest Vector
Problem (SVP). In this paper, we present new algorithms that improve the
state-of-the-art for provable classical/quantum algorithms for SVP. We present
the following results. ∙ A new algorithm for SVP that provides a smooth
tradeoff between time complexity and memory requirement. For any positive
integer 4≤q≤n, our algorithm takes q13n+o(n) time and
requires poly(n)⋅q16n/q2 memory. This tradeoff which ranges from
enumeration (q=n) to sieving (q constant), is a consequence of a new
time-memory tradeoff for Discrete Gaussian sampling above the smoothing
parameter.
∙ A quantum algorithm for SVP that runs in time 20.953n+o(n) and
requires 20.5n+o(n) classical memory and poly(n) qubits. In Quantum Random
Access Memory (QRAM) model this algorithm takes only 20.873n+o(n) time and
requires a QRAM of size 20.1604n+o(n), poly(n) qubits and 20.5n
classical space. This improves over the previously fastest classical (which is
also the fastest quantum) algorithm due to [ADRS15] that has a time and space
complexity 2n+o(n).
∙ A classical algorithm for SVP that runs in time 21.741n+o(n)
time and 20.5n+o(n) space. This improves over an algorithm of [CCL18] that
has the same space complexity.
The time complexity of our classical and quantum algorithms are obtained
using a known upper bound on a quantity related to the lattice kissing number
which is 20.402n. We conjecture that for most lattices this quantity is a
2o(n). Assuming that this is the case, our classical algorithm runs in
time 21.292n+o(n), our quantum algorithm runs in time 20.750n+o(n)
and our quantum algorithm in QRAM model runs in time 20.667n+o(n).Comment: Faster Quantum Algorithm for SVP in QRAM, 43 pages, 4 figure