G6K is an open-source C++ and Python (2) library that implements several Sieve algorithms to be used in more advanced lattice reduction tasks. It follows the stateful machine framework from: Martin R. Albrecht and Léo Ducas and Gottfried Herold and Elena Kirshanova and Eamonn W. Postlethwaite and Marc Stevens, The General Sieve Kernel and New Records in Lattice Reduction.
The main source is available in fplll/g6k
This fork expands the G6K implementation with GPU, and in particular Tensor Core, accelerated sieves, and is accompanied by the work: Léo Ducas, Marc Stevens, Wessel van Woerden, Advanced Lattice Sieving on GPUs, with Tensor Cores, Eurocrypt 2021 (eprint).
|PRivacy preserving pOst-quantuM systEms from advanced crypTograpHic mEchanisms Using latticeS|
Ducas, L, Stevens, M.M.J, & van Woerden, W.P.J. (2020). G6K-GPU-Tensor.
|View at GitHub|