Section: Software and Platforms
FPLLL: A Lattice Reduction Library
Participant : Damien Stehlé [correspondant] .
fplll contains several algorithms on lattices that rely on floatingpoint computations. This includes implementations of the floatingpoint LLL reduction algorithm, offering different speed/guarantees ratios. It contains a “wrapper” choosing the estimated best sequence of variants in order to provide a guaranteed output as fast as possible. In the case of the wrapper, the succession of variants is oblivious to the user. It also includes a rigorous floatingpoint implementation of the KannanFinckePohst algorithm that finds a shortest nonzero lattice vector, and the BKZ reduction algorithm.
The fplll library is used or has been adapted to be integrated within several mathematical computation systems such as Magma, Sage, and PariGP. It is also used for cryptanalytic purposes, to test the resistance of cryptographic primitives.
Versions 4.0.4 was released in 2013, fixing a number of userinterface bugs.
URL: http://perso.enslyon.fr/damien.stehle/fplll/

ACM: D.2.2 (Software libraries), G.4 (Mathematical software)

Type of human computer interaction: C++ library callable, from any C++ program.

Documentation: available in html format on URL:http://perso.enslyon.fr/damien.stehle/fplll/fpllldoc.html