Paper 2024/585

A Complete Beginner Guide to the Number Theoretic Transform (NTT)

Ardianto Satriawan, Inha University
Rella Mareta, Inha University
Hanho Lee, Inha University
Abstract

The Number Theoretic Transform (NTT) is a powerful mathematical tool that has become increasingly important in developing Post Quantum Cryptography (PQC) and Homomorphic Encryption (HE). Its ability to efficiently calculate polynomial multiplication using the convolution theorem with a quasi-linear complexity $O(n \log{n})$ instead of $O(n^2)$ when implemented with Fast Fourier Transform-style algorithms has made it a key component in modern cryptography. FFT-style NTT algorithm or fast-NTT is particularly useful in lattice-based cryptography. In this short note, we briefly introduce the basic concepts of linear, cyclic, and negacyclic convolutions via traditional schoolbook algorithms, traditional NTT, its inverse (INTT), and FFT-like versions of NTT/INTT. We then provide consistent toy examples through different concepts and algorithms to understand the basics of NTT concepts.

Note: This is a partial re-publication of the concepts part of the paper: "Conceptual Review on Number Theoretic Transform and Comprehensive Review on Its Implementations", DOI: 10.1109/ACCESS.2023.3294446 The original paper consists of the NTT concepts and a comparison between its hardware implementation, while this paper only contains the concept part.

Metadata
Available format(s)
PDF
Category
Foundations
Publication info
Published elsewhere. Minor revision. IEEE Access
DOI
10.1109/ACCESS.2023.3294446
Keywords
Number Theoretic Transform
Contact author(s)
ardiantosatriawan @ gmail com
rmareta @ inha edu
hhlee @ inha ac kr
History
2024-04-29: revised
2024-04-16: received
See all versions
Short URL
https://ia.cr/2024/585
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2024/585,
      author = {Ardianto Satriawan and Rella Mareta and Hanho Lee},
      title = {A Complete Beginner Guide to the Number Theoretic Transform (NTT)},
      howpublished = {Cryptology ePrint Archive, Paper 2024/585},
      year = {2024},
      doi = {10.1109/ACCESS.2023.3294446},
      note = {\url{https://eprint.iacr.org/2024/585}},
      url = {https://eprint.iacr.org/2024/585}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.