NTT Over Extension Field
The Core Concept
When computing a NTT over an Extension Field (e.g., ), we can avoid doing operations over the extension field. Instead, we can "flatten" the data into the base field (), run a standard NTT on the base components independently, and then reconstitute the result.
1. The Transformation
Imagine we are working in a Quadratic Extension Field, where every element is represented as .
: Coefficients in the base field.
: The extension basis (imaginary unit).
Instead of processing one column of "extension elements," we process two columns of "base elements."
The Algorithm:
Split: Take the input vector of elements and split it into two vectors: and .
Compute: Run the standard base field NTT on and separately.
Merge: The result for index is simply .
2. Why this works
The validity of this optimization relies on one critical constraint: The Root of Unity () must exist in the base field.
If is in the base field, multiplying an extension element by scales the components independently.
The Proof
Let us show the proof in the quadratic extension field case but it scales to arbitrary degree of extension field using the same logic.
Definition 5: The Number Theoretic Transform (NTT) of a vector of polynomial coefficients is defined as , where:
and . Here, denotes the evaluations of the polynomial defined by over which are the roots of .
Let our vector of coefficients in extension field be , where each element is defined by:
The definition of the NTT for output is:
Substitute and since is in the base field, we can distribute it:
And if we think about the NTT over the base field, we have:
Now, we can rewrite the as:
3. The Constraint (When this fails)
This optimization only works if the twiddle factor is in the base field.
If were in the extension field (e.g., ), the multiplication would "mix" the components:
Because the new "real" part depends on both and , you could not process the columns independently.
Summary
Standard NTT: operations using expensive extension field arithmetic.
Flattened NTT: operations using base field arithmetic where is extension degree.
Last updated