High-Performance Software Implementation of Discrete Gaussian Sampling for Lattice-Based Cryptography

Chaohui Du,Guoqiang Bai
DOI: https://doi.org/10.1109/itnec.2016.7560353
2016-01-01
Abstract:Lattice-based cryptography is an important candidate for post-quantum cryptography. Many lattice-based cryptosystems need to sample vectors from discrete Gaussian distributions. This paper shows a high-performance and high-precision software implementation of discrete Gaussian sampler, which is based on the inverse cumulative distribution function. We exploit multi-level fast lookup tables to speed up the sampler and reduce the required random-bits. The multithreading technique is also applied to speed up the sampler. Experimental results on an Intel Core i7-4771 processor shows that our sampler costs on average 6.48 random-bits to get a Gaussian sample and the throughput of our implementation is as high as 265.322 Mega samples per second.
What problem does this paper attempt to address?