A Parallel Implementation of GaussSieve for the Shortest Vector Problem in Lattices

  • Benjamin Milde
  • Michael Schneider
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6873)


The security of lattice based cryptography can be considered to be based on the hardness of the shortest vector problem (SVP) in lattices. Sieving algorithms can be used to solve this problem, at least in small dimensions. The most promising among the sieving algorithms is GaussSieve.

In this paper we present a parallel version of the GaussSieve algorithm that solves the shortest vector problem in lattices. For small number of up to 5 parallel threads, the parallel version scales nearly linearly. For bigger numbers of threads, the efficiency decreases. We implement the parallel GaussSieve on multicore CPUs, whereas the presented ideas can also be implemented on different parallel platforms.


Shortest Vector Problem (SVP) GaussSieve Parallelization Multicore CPU 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AKS01]
    Ajtai, M., Kumar, R., Sivakumar, D.: A sieve algorithm for the shortest lattice vector problem. In: STOC 2001, pp. 601–610. ACM, New York (2001)Google Scholar
  2. [DHPS10]
    Detrey, J., Hanrot, G., Pujol, X., Stehlé, D.: Accelerating Lattice Reduction with FPGAs. In: Abdalla, M., Barreto, P.S.L.M. (eds.) LATINCRYPT 2010. LNCS, vol. 6212, pp. 124–143. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. [FP83]
    Fincke, U., Pohst, M.: A procedure for determining algebraic integers of given norm. In: van Hulzen, J.A. (ed.) ISSAC 1983 and EUROCAL 1983. LNCS, vol. 162, pp. 194–202. Springer, Heidelberg (1983)CrossRefGoogle Scholar
  4. [GM03]
    Goldstein, D., Mayer, A.: On the equidistribution of Hecke points. Forum Mathematicum 15(2), 165–189 (2003)CrossRefzbMATHGoogle Scholar
  5. [GNR10]
    Gama, N., Nguyen, P.Q., Regev, O.: Lattice Enumeration Using Extreme Pruning. In: Gilbert, H. (ed.) EUROCRYPT 2010. LNCS, vol. 6110, pp. 257–278. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. [GS10]
    Gama, N., Schneider, M.: SVP Challenge (2010),
  7. [HSB+10]
    Hermans, J., Schneider, M., Buchmann, J., Vercauteren, F., Preneel, B.: Parallel Shortest Lattice Vector Enumeration on Graphics Cards. In: Bernstein, D.J., Lange, T. (eds.) AFRICACRYPT 2010. LNCS, vol. 6055, pp. 52–68. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. [MV10a]
    Micciancio, D., Voulgaris, P.: A deterministic single exponential time algorithm for most lattice problems based on voronoi cell computations. In: STOC. ACM, New York (2010)Google Scholar
  9. [MV10b]
    Micciancio, D., Voulgaris, P.: Faster exponential time algorithms for the shortest vector problem. In: SODA, pp. 1468–1480. ACM/SIAM (2010)Google Scholar
  10. [NV08]
    Nguyen, P.Q., Vidick, T.: Sieve algorithms for the shortest vector problem are practical. J. of Mathematical Cryptology 2(2) (2008)Google Scholar
  11. [PS09]
    Pujol, X., Stehlé, D.: Solving the shortest lattice vector problem in time 22.465n. Cryptology ePrint Archive, Report 2009/605 (2009),
  12. [SE94]
    Schnorr, C.-P., Euchner, M.: Lattice basis reduction: Improved practical algorithms and solving subset sum problems. Mathematical Programming 66, 181–199 (1994)CrossRefzbMATHGoogle Scholar
  13. [Vou10]
    Voulgaris, P.: Gauss Sieve alpha V. 0.1, Panagiotis Voulgaris’ homepage at the University of California, San Diego (2010),

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Benjamin Milde
    • 1
  • Michael Schneider
    • 1
  1. 1.Technische Universität DarmstadtGermany

Personalised recommendations