Accelerating NTRU Encryption with Graphics Processing Units

Lattice based cryptography is attractive for its quantum computing resistance and efficient encryption/decryption process. However, the Big Data issue has perplexed most lattice based cryptographic systems since the overall processing is slowed down too much. This paper intends to analyze one of the major lattice-based cryptographic systems, Nth-degree truncated polynomial ring (NTRU), and accelerate its execution with Graphic Processing Unit (GPU) for acceptable processing speed. Three strategies, including single GPU with zero copy, single GPU with data transfer, and multi-GPU versions are proposed for performance comparison. GPU computing techniques such as stream and zero copy are applied to overlap computations and communications for possible speedup. Experimental results have demonstrated the effectiveness of GPU acceleration of NTRU. As the number of involved devices increases, better NTRU performance will be achieved.

[1]  Ralph S. Phillips,et al.  Translation representations for automorphic solutions of the wave equation in non‐euclidean spaces. I , 1984 .

[2]  Kai Hwang,et al.  Polynomial Division on Systolic Arrays , 1985, IEEE Transactions on Computers.

[3]  I. Chuang,et al.  Experimental realization of Shor's quantum factoring algorithm using nuclear magnetic resonance , 2001, Nature.

[4]  Sudhakar Yalamanchili,et al.  A characterization and analysis of PTX kernels , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[5]  Yang Xiao,et al.  NTRU-based sensor network security: a low-power hardware implementation perspective , 2009, Secur. Commun. Networks.

[6]  Andreas Enge,et al.  The Extended Euclidian Algorithm on Polynomials, and the Computational Efficiency of Hyperelliptic Cryptosystems , 2001, Des. Codes Cryptogr..

[7]  Jason Sanders,et al.  CUDA by example: an introduction to general purpose GPU programming , 2010 .

[8]  大橋 和彦 Security-innovation on several assets under asymmetric information , 1998 .

[9]  Shahn Majid q‐Euclidean space and quantum Wick rotation by twisting , 1994 .

[10]  Thijs Laarhoven,et al.  Solving Hard Lattice Problems and the Security of Lattice-Based Cryptosystems , 2012, IACR Cryptol. ePrint Arch..

[11]  Claus-Peter Schnorr,et al.  Lattice basis reduction: Improved practical algorithms and solving subset sum problems , 1991, FCT.

[12]  Ralph S. Phillips,et al.  TRANSLATION REPRESENTATIONS FOR AUTOMORPHIC SOLUTIONS OF THE WAVE EQUATION IN NON-EUCLIDEAN SPACES , 1985 .

[13]  D. Cremer,et al.  General definition of ring puckering coordinates , 1975 .

[14]  Jozef Gruska,et al.  Quantum Computing , 2008, Wiley Encyclopedia of Computer Science and Engineering.