Journal of Information Science and Engineering, Vol. 37 No. 5, pp. 1187-1209

Parallelization on Gauss Sieve Algorithm over Ideal Lattice

Cryptanalysis of lattice-based cryptography is an important field in cryptography since lattice problems are among the most robust assumptions and have been used to construct a variety of cryptographic primitives. The security estimation model for concrete parameters is one of the most important topics in lattice-based cryptography. In this research, we focus on the Gauss Sieve algorithm proposed by Micciancio and Voulgaris, a heuristic lattice sieving algorithm for the central lattice problem, shortest vector problem (SVP).We propose a technique of lifting computations in prime-cyclotomic ideals into that in cyclic ideals. Lifting makes rotations easier to compute and reduces the complexity of inner products from O(n3) to O(n2). We implemented the Gauss Sieve on multi-GPU systems using two layers of parallelism in our framework, and achieved up to 55 times speed of previous results of dimension 96. We were able to solve SVP on ideal lattice in dimension up to 130, which is the highest dimension SVP instance solved by sieve algorithm so far. As a result, we are able to provide a better estimate of the complexity of solving central lattice problem.

Keywords:
cryptography, parallel programming, lattice-based cryptography, sieving algorithm, gauss sieve, GPU, shortest vector problem, ideal lattices