Abstract
The Lenstra-Lenstra-Lovász basis reduction algorithm, also known as
LLL algorithm, is an algorithm to find a basis with short, nearly
orthogonal vectors of an integer lattice. Thereby, it can also be seen
as an approximation to solve the shortest vector problem (SVP), which
is an NP-hard problem, where the approximation quality solely depends
on the dimension of the lattice, but not the lattice itself. The
algorithm also possesses many applications in diverse fields of
computer science, from cryptanalysis to number theory, but it is
specially well-known since it was used to implement the first
polynomial-time algorithm to factor polynomials. In this work we
present the first mechanized soundness proof of the LLL algorithm to
compute short vectors in lattices. The formalization follows a
textbook by von zur Gathen and Gerhard.
License
History
- May 25, 2018
- Integrated much faster LLL implementation based on integer arithmetic (Bottesch, Haslbeck, Thiemann)
- April 16, 2018
- Integrated formal complexity bounds (Haslbeck, Thiemann)
Topics
Session LLL_Basis_Reduction
- Missing_Lemmas
- More_IArray
- Norms
- Int_Rat_Operations
- Cost
- List_Representation
- Gram_Schmidt_2
- Gram_Schmidt_Int
- LLL
- LLL_Impl
- LLL_Complexity
- LLL_Number_Bounds
- LLL_Certification
- FPLLL_Solver