FFTNTT
FFTNTT, short for Fast Fourier Transform based Number Theoretic Transform, refers to a class of algorithms that compute the discrete Fourier transform over a finite field or ring using FFT-like techniques. In a NTT, the input sequence is transformed using a primitive n-th root of unity ω in a finite modulus p, with arithmetic performed modulo p. The FFTNTT adapts Cooley–Tukey or similar FFT decompositions to perform the transform in O(n log n) modular operations, typically when n is a power of two and n divides p−1. Moduli are often chosen as primes of the form p = c·2^k + 1 to provide large 2^k-th roots of unity, with 998244353 being a common example.
Key features include in-place computation, precomputation of twiddle factors (powers of ω), and the use of efficient
FFTNTTs are widely used for fast polynomial multiplication in digital signal processing, cryptography, and error-correcting codes,
Limitations include the need for appropriate modulus and root of unity, which constrains n; for arbitrary lengths,