a(x) / â(k) b(x) / b̂(k) ĉ(k) product c(x) result
Coefficient domain a(x) Coefficient domain b(x) Result (empty)
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.

NTT: Fast Polynomial Multiplication for Lattice Cryptography

Every encryption and signature operation in post-quantum standards like CRYSTALS-Kyber and CRYSTALS-Dilithium boils down to multiplying polynomials inside a negacyclic ring ℤq[x]/(xⁿ+1). Done the schoolbook way that costs O(n²) modular multiplications; done via the Number Theoretic Transform — the modular-arithmetic cousin of the FFT — it costs O(n log n). This simulator runs the real Cooley-Tukey NTT algorithm (twist by a 2n-th root of unity, bit-reversed butterfly passes, pointwise multiply, inverse transform, un-twist) on a small demonstration ring, animates it stage by stage in 3D, and cross-checks every result against a direct schoolbook convolution to prove the two methods agree.