forked from Verified-zkEVM/CompPoly
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
erdkocak edited this page Mar 28, 2026
·
3 revisions
This project develops an efficient iterative radix-2 Number-Theoretic Transform (NTT) for the CompPoly library in Lean 4, with the long-term goal of full formal verification.
The Number-Theoretic Transform is a finite-field analogue of the Fast Fourier Transform. It is a core building block for fast polynomial multiplication, which is important in cryptography and other algebraic computations.
Our project focuses on:
- defining NTT domains with primitive roots of unity
- implementing forward and inverse iterative radix-2 NTTs
- building an NTT-based fast polynomial multiplication pipeline
- structuring the code for later formal correctness proofs in Lean 4
The current implementation includes:
-
Domain.leanfor radix-2 NTT domain parameters -
Forward.leanfor forward NTT specification and iterative implementation -
Inverse.leanfor inverse NTT specification and iterative implementation -
FastMul.leanfor NTT-based polynomial multiplication - test and benchmark files for validation over the
KoalaBearfield
The project is executable and benchmarked. Full correctness proofs are still in progress.
- Salih Erdem Koçak
- Doran Pamukçu
- Doğan Ulus