Paper 2021/420

Intel HEXL: Accelerating Homomorphic Encryption with Intel AVX512-IFMA52

Fabian Boemer, Sejun Kim, Gelila Seifu, Fillipe D. M. de Souza, and Vinodh Gopal

Abstract

Modern implementations of homomorphic encryption (HE) rely heavily on polynomial arithmetic over a finite field. This is particularly true of the CKKS, BFV, and BGV HE schemes. Two of the biggest performance bottlenecks in HE primitives and applications are polynomial modular multiplication and the forward and inverse number- theoretic transform (NTT). Here, we introduce Intel® Homomorphic Encryption Acceleration Library (Intel® HEXL), a C++ library which provides optimized implementations of polynomial arithmetic for Intel® processors. Intel HEXL takes advantage of the recent Intel® Advanced Vector Extensions 512 (Intel® AVX512) instruction set to provide state- of-the-art implementations of the NTT and modular multiplication. On the forward and inverse NTT, Intel HEXL provides up to 7.2x and 6.7x speedup, respectively, over a native C++ implementation. Intel HEXL also provides up to 6.0x speedup on the element-wise vector-vector modular multiplication, and 1.7x speedup on the element-wise vector-scalar modular multiplication. Intel HEXL is available open-source at https://github.com/intel/hexl under the Apache 2.0 license and has been adopted by the Microsoft SEAL and PALISADE homomorphic encryption libraries.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. Minor revision.
Keywords
homomorphic encryptionAVX512number-theoretic transformNTT
Contact author(s)
fabian boemer @ intel com
History
2021-07-12: last of 2 revisions
2021-03-30: received
See all versions
Short URL
https://ia.cr/2021/420
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2021/420,
      author = {Fabian Boemer and Sejun Kim and Gelila Seifu and Fillipe D. M.  de Souza and Vinodh Gopal},
      title = {Intel HEXL: Accelerating Homomorphic Encryption with Intel AVX512-IFMA52},
      howpublished = {Cryptology ePrint Archive, Paper 2021/420},
      year = {2021},
      note = {\url{https://eprint.iacr.org/2021/420}},
      url = {https://eprint.iacr.org/2021/420}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.