Paper 2013/510

Discrete Ziggurat: A Time-Memory Trade-off for Sampling from a Gaussian Distribution over the Integers

Johannes Buchmann, Daniel Cabarcas, Florian Göpfert, Andreas Hülsing, and Patrick Weiden


Several lattice-based cryptosystems require to sample from a discrete Gaussian distribution over the integers. Existing methods to sample from such a distribution either need large amounts of memory or they are very slow. In this paper we explore a different method that allows for a flexible time-memory trade-off, offering developers freedom in choosing how much space they can spare to store precomputed values. We prove that the generated distribution is close enough to a discrete Gaussian to be used in lattice-based cryptography. Moreover, we report on an implementation of the method and compare its performance to existing methods from the literature. We show that for large standard deviations, the Ziggurat algorithm outperforms all existing methods.

Available format(s)
Publication info
Published elsewhere. MINOR revision.Selected Areas in Cryptography 2013
Lattice-Based CryptographyGaussian SamplingPracticalityImplementation
Contact author(s)
pweiden @ cdc informatik tu-darmstadt de
2013-08-17: received
Short URL
Creative Commons Attribution


      author = {Johannes Buchmann and Daniel Cabarcas and Florian Göpfert and Andreas Hülsing and Patrick Weiden},
      title = {Discrete Ziggurat: A Time-Memory Trade-off for Sampling from a Gaussian Distribution over the Integers},
      howpublished = {Cryptology ePrint Archive, Paper 2013/510},
      year = {2013},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.