Abstract
The LLL basis reduction algorithm was the first polynomial-time algorithm to compute a reduced basis of a given lattice, and hence also a short vector in the lattice. It approximates an NP-hard problem where the approximation quality solely depends on the dimension of the lattice, but not the lattice itself. The algorithm has applications in number theory, computer algebra and cryptography. In this paper, we provide an implementation of the LLL algorithm. Both its soundness and its polynomial running-time have been verified using Isabelle/HOL. Our implementation is nearly as fast as an implementation in a commercial computer algebra system, and its efficiency can be further increased by connecting it with fast untrusted lattice reduction algorithms and certifying their output. We additionally integrate one application of LLL, namely a verified factorization algorithm for univariate integer polynomials which runs in polynomial time.
Funding Information
  • Austrian Science Fund (Y757, Y757)
  • Austrian Science Fund (Y757, Y757)
  • Austrian Science Fund (Y757)
  • Ministerio de Economia, Industria y Competitividad (MTM2017-88804-P)
  • NWO (VICI 639.023.710)
  • Japan Science and Technology Agency (JPMJER1603)

This publication has 25 references indexed in Scilit: