Enhanced implementation of the NTRUEncrypt algorithm using graphics cards
Concordia Inst. for Inf. Syst. Eng., Concordia Univ., Montreal, QC, Canada
1st International Conference on Parallel Distributed and Grid Computing (PDGC), 2010
The NTRU encryption algorithm, also known as NTRUEncrypt, is a parameterized family of lattice-based public key cryptosystems that has been accepted to the IEEE P1363 standards under the specifications for lattice-based public-key cryptography (IEEE P1363.1). The operations of the NTRU encryption algorithm show good characteristics for data parallel processing which makes the NTRU a good candidate to benefit from the high degree of parallelism available in modern graphics processing units (GPUs). In this paper, we investigate different GPU implementation options for the NTRU encryption algorithm. Our implementation, on the NVIDIA GTX275 GPU, using the CUDA framework, achieves about 77 MB/s for NTRU with the parameter set (N, q, p) = (1171, 2048, 3).