Abstract
The introduction of the processor instructions AES-NI and VPCLMULQDQ, that are designed for speeding up encryption, and their continual performance improvements through processor generations, has significantly reduced the costs of encryption overheads. More and more applications and platforms encrypt all of their data and traffic. As an example, we note the world wide proliferation of the use of AES-GCM, with performance dropping down to 0.64 cycles per byte (from ∼23 before the instructions), on the latest Intel processors. This is close to the theoretically achievable performance with the existing hardware support.
Anticipating future applications and increasing demand for high performance encryption, Intel has recently announced that its future architecture (codename “Ice Lake”) will introduce new encryption instructions. These will be able to vectorize the AES-NI and VPCLMULQDQ instructions, on wide registers that are available on the AVX512 architectures. In this paper, we explain how these new instructions can be used effectively, and how properly using them can lead to the anticipated theoretical encryption throughput of around 0.16 cycles per byte. The included examples demonstrate AES encryption in various modes of operation, AEAD such as AES-GCM, and the emerging nonce misuse resistant variant AES-GCM-SIV.
This work was done prior to joining Amazon.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Gueron, S.: Intel® Advanced encryption standard (AES) new instructions set rev. 3.01. Intel Software Network (2010)
Gueron, S., Kounavis, M.: Efficient implementation of the Galois Counter Mode using a carry-less multiplier and a fast reduction algorithm. Inf. Process. Lett. 110(14), 549–553 (2010)
Gueron, S.: Intel’s new AES instructions for enhanced performance and security. In: FSE, vol. 5665, pp. 51–66. Springer (2009)
Bahajji, Z.A.: Indexing HTTPS pages by default, Dec 2015. https://security.googleblog.com/2015/12/indexing-https-pages-by-default.html
Bahajji, Z.A.: Percentage of web pages loaded by firefox using HTTPS, Jan 2018. https://letsencrypt.org/stats/#percent-pageloads
Hodjat, A., Verbauwhede, I.: Area-throughput trade-offs for fully pipelined 30 to 70 Gbits/s AES processors. IEEE Trans. Comput. 55(4), 366–372 (2006)
Mathew, S., Satpathy, S., Suresh, V., Anders, M., Kaul, H., Agarwal, A., Hsu, S., Chen, G., Krishnamurthy, R.: 340 mV #x2013;1.1 V, 289 Gbps/W, 2090-gate nanoAES hardware accelerator with area-optimized encrypt/decrypt GF(2 4) 2 polynomials in 22 nm tri-gate CMOS. IEEE J. Solid-State Circuits 50(4), 1048–1058 (2015)
Manavski, S.A.: CUDA Compatible GPU as an efficient hardware accelerator for AES cryptography. In: 2007 IEEE International Conference on Signal Processing and Communications, Nov 2007, pp. 65–68
Patchappen, M., Yassin, Y.M., Karuppiah, E.K.: Batch processing of multi-variant AES cipher with GPU. In: 2015 Second International Conference on Computing Technology and Information Management (ICCTIM), Apr 2015, pp. 32–36
Patchappen, M., Yassin, Y.M., Karuppiah, E.K.: The “Zen” core architecture, Jan 2018. http://www.amd.com/en/technologies/zen-core
Patchappen, M., Yassin, Y.M., Karuppiah, E.K.: Intel architecture instruction set extensions programming reference, Oct 2017. https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf
Gueron, S., Lindell, Y.: GCM-SIV: full nonce misuse-resistant authenticated encryption at under one cycle per byte. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Ser. CCS ’15, pp. 109–119. ACM, New York (2015)
Gueron, S., Langley, A., Lindell, Y.: AES-GCM-SIV: specification and analysis. Cryptology ePrint Archive, Report 2017/168 (2017). https://eprint.iacr.org/2017/168
Gueron, S., Kounavis, M.E.: Intel® carry-less multiplication instruction and its usage for computing the GCM mode. White Paper (2010)
Drucker, N., Gueron, S.: Fast multiplication of binary polynomials with the forthcoming vectorized VPCLMULQDQ instruction. In: 2018 IEEE 25th Symposium on Computer Arithmetic (ARITH), June 2018
Drucker, N., Gueron, S.: Intel ® 64 and IA-32 architectures software developers manual. Volume 3a: System Programming Guide, Sept 2015
Drucker, N., Gueron, S.: Intel ® 64 and IA-32 architectures optimization reference manual, June 2016
McGrew, D., Viega, J.: The Galois/counter mode of operation (GCM). Submission to NIST Modes of Operation Process, vol. 20 (2004)
McGrew, D.A., Viega, J.: The security and performance of the Galois/counter mode (GCM) of operation. In: Canteaut, A., Viswanathan, K. (eds.) Progress in Cryptology – INDOCRYPT 2004, pp. 343–355. Springer, Berlin/Heidelberg (2005)
McGrew, D.A., Viega, J.: Intel® Software Development Emulator, version 8.12.0, Jan 2017. https://software.intel.com/en-us/articles/intel-software-development-emulator
Acknowledgements
This research was supported by the Center for Cyber Law and Policy at the University of Haifa in conjunction with the Israel National Cyber Directorate in the Prime Ministers Office
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Drucker, N., Gueron, S., Krasnov, V. (2019). Making AES Great Again: The Forthcoming Vectorized AES Instruction. In: Latifi, S. (eds) 16th International Conference on Information Technology-New Generations (ITNG 2019). Advances in Intelligent Systems and Computing, vol 800. Springer, Cham. https://doi.org/10.1007/978-3-030-14070-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-14070-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-14069-4
Online ISBN: 978-3-030-14070-0
eBook Packages: EngineeringEngineering (R0)