A Verified LLL Algorithm

Ralph Bottesch, Jose Divasón, Maximilian P. L. Haslbeck, Sebastiaan J. C. Joosten, René Thiemann and Akihisa Yamada

2 February 2018


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.
BSD License

Change history

[2018-04-16] Integrated formal complexity bounds (Haslbeck, Thiemann) [2018-05-25] Integrated much faster LLL implementation based on integer arithmetic (Bottesch, Haslbeck, Thiemann)

Depends On

Used by


Related Entries