OpenNTT - An Automated Toolchain for Compiling High-Performance NTT Accelerators in FHE

Research output: Chapter in Book/Report/Conference proceedingConference paperpeer-review

Abstract

Modern cryptographic techniques such as fully homomorphic encryption (FHE) have recently gained broad attention. Most of these cryptosystems rely on lattice problems wherein polynomial multiplication forms the computational bottleneck. A popular method to accelerate these polynomial multiplications is the Number-Theoretic Transformation (NTT). Recent works aim to improve the practical deployability of NTT and propose toolchains supporting the NTT hardware accelerator design processes. However, existing design tools do not provide on-the-fly twiddle factor generation (TFG) which leads to high memory demands. Inspired by this situation, we present OpenNTT, a fully automated, open-source framework to compile NTT hardware accelerators with TFG for various NTT types and parameter sets. We address the challenge of combining conflict-free memory accesses and efficient, linear twiddle factor generation through a dedicated NTT processing order. Following this order, we develop a flexible twiddle factor generation method with minimal memory usage. These core concepts together with a frequency-optimized hardware architecture form our OpenNTT framework. We use OpenNTT to compile and test NTT hardware designs with various parameter sets on FPGAs. The obtained results show a clear memory reduction due to TFG and a speedup by 2.7× in latency and 2.2× in area-time-product, compared to prior arts.
Original languageEnglish
Title of host publication2024 ACM/IEEE International Conference on Computer-Aided Design
PublisherACM/IEEE
Publication statusAccepted/In press - 2024

Keywords

  • Number Theoretic Transformation (NTT)
  • Twiddle Factor Generation
  • Homomorphic Encryption (FHE)

Fingerprint

Dive into the research topics of 'OpenNTT - An Automated Toolchain for Compiling High-Performance NTT Accelerators in FHE'. Together they form a unique fingerprint.

Cite this