Cryptology ePrint Archive: Report 2021/430

Lattice Enumeration on GPUs for fplll

Simon Pohmann and Marc Stevens and Jens Zumbrägel

Abstract: The Kannan-Fincke-Pohst lattice enumeration algorithm is the classical method for solving the shortest vector problem in lattices. It is also a fundamental tool for most lattice reduction algorithms that provide speed-length tradeoffs. As this algorithm allows efficient parallel implementations, it is likely that implementing it on modern graphics processing units (GPUs) can significantly improve performance. We provide such an implementation that is compatible with the fplll lattice reduction library [fplll16] and achieves a considerable speedup in higher lattice dimensions, compared to current, multithreaded versions. For this, we use the CUDA technology that provides an abstract language for programming GPUs.

[fplll16] The FPLLL development team. “fplll, a lattice reduction library”. 2016. URL:

Category / Keywords: public-key cryptography / Lattice Enumeration, Shortest Vector, fplll, Cryptanalysis

Date: received 1 Apr 2021, last revised 30 Jul 2021

Contact author: simon at pohmann de

Available format(s): PDF | BibTeX Citation

Note: The benchmark claimed to include pruning did not include it. I have updated the benchmark graphic and some of the explanation concerning pruning.

Version: 20210730:091522 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]