Abstract

Hard Lattice problems are assumed to be one of the most promising problems for generating cryptosystems that are secure in quantum computing. The shortest vector problem (SVP) is one of the most famous lattice problems. In this paper, we present three improvements on GPU-based parallel algorithms for solving SVP using the classical enumeration and pruned enumeration. There are two improvements for preprocessing: we use a combination of randomization and the Gaussian heuristic to expect a better basis that leads rapidly to a shortest vector and we expect the level on which the exchanging data between CPU and GPU is optimized. In the third improvement, we improve GPU-based implementation by generating some points in GPU rather than in CPU. We used NVIDIA GeForce GPUs of type GTX 1060 6G. We achieved a significant improvement upon Hermans’s improvement. The improvements speed up the pruned enumeration by a factor of almost 2.5 using a single GPU. Additionally, we provided an implementation for multi-GPUs by using two GPUs. The results showed that our algorithm of enumeration is scalable since the speedups achieved using two GPUs are almost faster than Hermans’s improvement by a factor of almost 5. The improvements also provided a high speedup for the classical enumeration. The speedup achieved using our improvements and two GPUs on a challenge of dimension 60 is almost faster by factor 2 than Correia’s parallel implementation using a dual-socket machine with 16 physical cores and simultaneous multithreading technology.

Highlights

  • A lattice L is the set of all integer combination of n linearly independent vectors b1, b2, . . . , bn in Rm. ese vectors are known as a basis of the lattice. e most famous computational problems involving lattices are the shortest vector problem (SVP) and closet vector problem (CVP)

  • We focus our work to the parallel lattice enumeration algorithms for solving SVP on Graphics Processing Unit (GPU). e classical algorithms for lattice enumeration were first proposed by Kannan [16] and by Fincke and Pohst [19]. erefore, the enumeration is sometimes referred to as KFP algorithm

  • A strategy based on generating GPU points on GPU, a strategy based on improving the quality of basis by using a randomization approach, and a strategy based on expecting the best level on which we generate the GPU points

Read more

Summary

Introduction

A lattice L is the set of all integer combination of n linearly independent vectors b1, b2, . . . , bn in Rm. ese vectors are known as a basis of the lattice. e most famous computational problems involving lattices are the shortest vector problem (SVP) and closet vector problem (CVP). (2) Exact algorithms which return an exact solution for either SVP or CVP: they are based on the exhaustive search They are expensive in terms of running time, which is at least an exponential of the dimension of the lattice. E cloud computing service provider has allowed the authors to test the shortest vectors of height dimensions, for example, 114 and 120 dimensions, providing them by many high-performance NVIDIA GPUs. Subsequently, Correia et al [30] showed that the search tree of the enumeration-based CVP contains many symmetric branched. We present an improved parallel version of the pruned enumeration algorithm (approximation algorithm) of [14] that finds a shortest, nonzero vector in a lattice.

Preliminaries
Classical Enumeration Algorithm
Pruned Enumeration Algorithm
The Proposed GPU-Based Pruned Enumeration
Experimental Results
Conclusions and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call