Abstract
This paper describes software optimizations for the post-quantum public-key encryption scheme NTRUEncrypt. We build upon the, to the best of our knowledge, fastest open-source NTRUEncrypt library and optimize it by taking advantage of AVX2 and AVX512 SIMD instructions as well as the AES-NI built-in encryption functions.
We show that, on modern processors, using AVX2 yields performance gains of 23% for encryption and 37% for the decryption operation. For the future AVX512 we use a publicly available emulator, since no supporting processor is on the market yet, and report that for the decryption only about half of the instructions compared to the current code are needed to be executed.
Furthermore, we propose replacing the SHA hash functions by pipelined AES-NI for faster randomness generation. With both optimizations enabled, we achieve performance improvements of 1.82x for encryption and 1.74x for decryption with a parameter set that provides 256 bits of security.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
C Implementation of NTRUEncrypt (2015). https://github.com/tbuktu/libntru
Buchmann, J.A., May, A., Vollmer, U.: Perspectives for cryptographic long-term security. Commun. ACM 49(9), 50–55 (2006)
Fluhrer, S.: Quantum cryptanalysis of NTRU. IACR Cryptology ePrint Archive 2015, 676 (2015). http://eprint.iacr.org/2015/676
Gueron, S.: Intel’s new AES instructions for enhanced performance and security. In: 16th International Workshop on Fast Software Encryption, FSE 2009, Leuven, Belgium, February 22-25, 2009, Revised Selected Papers, pp. 51–66 (2009)
Gueron, S.: Intel\(^{\textregistered }\) Advanced Encryption Standard (AES) New Instructions Set, September 2012. https://software.intel.com/sites/default/files/article/165683/aes-wp-2012-09-22-v01.pdf
Gueron, S., Krasnov, V.: Simultaneous hashing of multiple messages. J. Information Security 3(4), 319–325 (2012)
Hirschhorn, P.S., Hoffstein, J., Howgrave-Graham, N., Whyte, W.: Choosing ntruencrypt parameters in light of combined lattice reduction and MITM approaches. In: Proceedings of the 7th International Conference on Applied Cryptography and Network Security, ACNS 2009, Paris-Rocquencourt, France, June 2-5, 2009, pp. 437–455 (2009)
Hoffstein, J., Pipher, J., Schanck, J.M., Silverman, J.H., Whyte, W., Zhang, Z.: Choosing parameters for NTRUEncrypt. IACR Cryptology ePrint Archive 2015, 708 (2015). http://eprint.iacr.org/2015/708
Hoffstein, J., Pipher, J., Silverman, J.H.: NTRU: a ring-based public key cryptosystem. In: Proceedings of the Third International Symposium on Algorithmic Number Theory, ANTS-III, Portland, Oregon, USA, June 21-25, 1998, pp. 267–288 (1998)
Howgrave-Graham, N.: A hybrid lattice-reduction and meet-in-the-middle attack against NTRU. In: Proceedings of the 27th Annual International Cryptology Conference on Advances in Cryptology - CRYPTO 2007, Santa Barbara, CA, USA, August 19-23, 2007, pp. 150–169 (2007)
Howgrave-Graham, N., Silverman, J.H., Whyte, W.: Choosing parameter sets for NTRUEncrypt with NAEP and SVES-3. IACR Cryptology ePrint Archive 2005, 45 (2005). http://eprint.iacr.org/2005/045
IEEE Std. 1363.1-2008: IEEE Standard Specification for Public Key Cryptographic Techniques Based on Hard Problems over Lattices (2009)
Intel Corporation: Intel\(^{\textregistered }\) Software Development Evaluator (SDE). http://software.intel.com/en-us/articles/intel-software-development-emulator
Intel Corporation: Intel\(^{\textregistered }\) 64 and IA-32 Architectures Software Developer’s Manual, September 2015
Intel Corporation: Intel\(^{\textregistered }\) Architecture Instruction Set Extensions Programming Reference, August 2015
NTRUOpenSourceProject: Open Source NTRU Public Key Cryptography Algorithm and Reference Code (2015). https://github.com/NTRUOpenSourceProject/ntru-crypto
Rich, S., Gellman, B.: NSA seeks to build quantum computer that could crack most types of encryption, January 2, 2014. https://www.washingtonpost.com/2014/01/02/8fff297e-7195-11e3-8def-a33011492df2_story.html
Shor, P.W.: Algorithms for quantum computation: discrete logarithms and factoring. In: 35th Annual Symposium on Foundations of Computer Science, Santa Fe, New Mexico, USA, November, 20-22, 1994, pp. 124–134 (1994)
Simonite, T.: IBM shows off a quantum computing chip, April 29, 2015. http://www.technologyreview.com/news/537041/ibm-shows-off-a-quantum-computing-chip/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Gueron, S., Schlieker, F. (2016). Software Optimizations of NTRUEncrypt for Modern Processor Architectures. In: Latifi, S. (eds) Information Technology: New Generations. Advances in Intelligent Systems and Computing, vol 448. Springer, Cham. https://doi.org/10.1007/978-3-319-32467-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-32467-8_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-32466-1
Online ISBN: 978-3-319-32467-8
eBook Packages: EngineeringEngineering (R0)