Abstract
This paper describes software optimizations for the post-quantum publickey 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 AESNI 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.
Original language | English |
---|---|
Title of host publication | Information Technology |
Subtitle of host publication | New Generations - 13th International Conference on Information Technology |
Editors | Shahram Latifi |
Publisher | Springer Verlag |
Pages | 189-199 |
Number of pages | 11 |
ISBN (Print) | 9783319324661 |
DOIs | |
State | Published - 2016 |
Event | 13th International Conference on Information Technology- New Generations, ITNG 2016 - Las Vegas, United States Duration: 4 Apr 2016 → 6 Apr 2016 |
Publication series
Name | Advances in Intelligent Systems and Computing |
---|---|
Volume | 448 |
ISSN (Print) | 2194-5357 |
Conference
Conference | 13th International Conference on Information Technology- New Generations, ITNG 2016 |
---|---|
Country/Territory | United States |
City | Las Vegas |
Period | 4/04/16 → 6/04/16 |
Bibliographical note
Publisher Copyright:© Springer International Publishing Switzerland 2016.
Keywords
- AES-NI
- AVX2
- AVX512
- NTRU
- NTRUEncrypt
- Post-quantum public-key encryption
- Software optimization
ASJC Scopus subject areas
- Control and Systems Engineering
- General Computer Science