In this paper, we assess the practicability of HashSieve, a recently proposed sieving algorithm for the Shortest Vector Problem (SVP) on lattices, on multi-core shared memory systems. To this end, we devised a parallel implementation that scales well, and is based on a probable lock-free system to handle concurrency. The probable lock-free system, implemented with spin-locks and compare-and-swap operations, acts, likely, as a lock-free mechanism, since threads block only when strictly required and chances are that they are not required to block, because resource contention is very low. With our implementation, we were able to solve the SVP on an arbitrary lattice in dimension 96, in less than 17.5 hours, using 16 physical cores. The least squares t of the execution times of our implementation, in seconds, lies between 2^(0.32n-15) or 2^(0.33n-16) which indicates that sieving algorithms are indeed way more practical than believed.
|Status||Gepubliceerd - 2015|
|Naam||Cryptology ePrint Archive|