Sieve Algorithms for the Shortest Vector Problem are Practical
read more
Citations
Trapdoors for hard lattices and new cryptographic constructions
Trapdoors for Hard Lattices and New Cryptographic Constructions.
BKZ 2.0: better lattice security estimates
Lattice-based cryptography
Predicting lattice reduction
References
Sphere packings, lattices, and groups
Factoring Polynomials with Rational Coefficients
Factoring polynomials with rational coeficients
Locality-sensitive hashing scheme based on p-stable distributions
Closest point search in lattices
Related Papers (5)
Lattice basis reduction: improved practical algorithms and solving subset sum problems
Factoring Polynomials with Rational Coefficients
Frequently Asked Questions (16)
Q2. What is the key point in assessing the complexity of the algorithm?
The crucial point in assessing the complexity of the algorithm is to estimate the number of vectors that are lost at each iteration of the sieve, either as centers or through a collision.
Q3. What is the reason for the sharp decline in the number of vectors?
When the size of the manipulated vectors becomes approximately 1.5λ1, the authors see a sharp decline in the number of vectors, which is due to a large number of collisions, as can be verified on Figure 3.
Q4. How many times is the running time of the algorithm of order?
Since the running time of the sieve is quadratic, the total running time of the algorithm is expected to be of order (4/3 + )n, because at the limit γ → 1 the authors have cH = √ 4/3.
Q5. What is the expected number of vectors lost through collisions?
Then the expected number of different vectors picked is N − N(1 − 1/N)p, so the expected number of vectors lost through collisions is p − N + N(1 − 1/N)p.
Q6. What is the heuristic assumption on the distribution of lattice vectors used?
the authors argue that under a natural heuristic assumption on the distribution of lattice vectors used by the algorithm, the result will be a very short – if not shortest – lattice vector.
Q7. what is the efficient way of enumerating all the candidates?
The Schnorr–Euchner enumeration [33] is the most efficient way known of enumerating all the candidates: it is implemented by all main lattice software.
Q8. What is the way to calculate the running time of a lattice?
If the basis is only LLL-reduced, the running time is 2O(n2) polynomial-time operations, but Kannan [21] showed that one can perform suitable preprocessing in such a way that the overall running time (including preprocessing) is 2O(n log n) polynomial-time operations (see [18, 20] for a better constant than [21], and see [19] for a worst-case lattice basis).
Q9. what is the expected fraction of cn() that is not covered by NC balls?
The expected fraction of Cn(γ) that is not covered by NC balls of radius γ centered at randomly chosen points of Cn(γ) is (1−Ωn(γ))NC .
Q10. what is the fraction of the sky that is occupied by the star?
Then the fraction of the sky that is occupied by the star is sinn π/3 = √ 3/4 n , and about √ 4/3 n stars are therefore required to cover the whole sky.
Q11. What is the first property of the algorithm used in Step 2?
The first property is that the approximate CVP algorithm used in Step 2 is additive with respect to the lattice: ApproxCVP(x+z, B) = z+ApproxCVP(x, B) for every x ∈
Q12. What is the way to get a shortest vector of L?
the second constraint can be dropped if the authors are only interested in obtaining a non-zero vector of norm less than R∞. Using the values of the constants given in Lemmas 3.2, 3.4 and 3.5 and optimizing over γ and ξ, the authors find that, in the case where the authors want a shortest vector, the best choice of parameters is γ = 0.518 and ξ = 0.7λ1(L), which yields a value c0 < 2.95.
Q13. What is the HKZ-reduced basis of the lattice ?
The authors first find an HKZ-reduced basis of the lattice π2(L), which is lifted to a weakly-reduced basis [b1,b2, . . . ,bn] of L such that [π2(b2), . . . , π2(bn)] is an HKZ-reduced basis of π2(L) and ‖b∗1‖ ≤ 2‖b∗2‖.
Q14. What is the heuristic algorithm for finding short lattice vectors?
This heuristic algorithm takesAlgorithm 4 Finding short lattice vectors based on sieving Input: An LLL-reduced basis B = [b1, . . . ,bn] of a lattice L, a sieve factor γ suchthat 2/3 < γ < 1, and a number N .
Q15. How many iterations of the lattice sieve are there?
This depends on the number of iterations of the lattice sieve: the main loop of Algorithm 4 repeats until the set S of all lattice vectors currently under consideration is empty.
Q16. how many times should the complexity of the Kannan–Helfrich algorithm be replaced?
its complexity is 2O(n2) polynomial-time operations, but here, the complexity 2O(n 2) should in practice be replaced by 1.02n 2+O(n) for reasons explained above.