Mathematical groundwork for our small-field zerocheck
In this page, we lay some mathematical groundwork, necessary to explain our Rijndael zerocheck.
The Rijndael Field
The Rijndael field [FIPS197, § 4] is a small, 8-bit field used in AES, Grøstl and various other places. It's defined as the quotient ring
K:=F2[X]/(X8+X4+X3+X+1);
K is isomorphic to F28. During the univariate skip, our goal will be to perform "as much work as possible" over K.
Tensor Basis
We now pick three elements ρ0,ρ1,ρ2 of K such that the elements of the tensor
(eq(ρ,u))u∈B3
yield an F2-basis of K.
The K-elements ρ0:=X, ρ1:=X2, and ρ2:=X4 satisfy this property. Indeed, taking all subproducts of (X,X2,X4), we get the list (1,X,X2,…,X7), which is clearly linearly independent over F2. The actual tensor (eq(ρ,v))v∈B3 contains not
on the other hand, these two lists differ from each other by an invertible F2-linear transformation from F288→F288, so the distinction doesn't affect linear independence.
Embedding
We moreover assume that we have a fixed field embedding from ι:K→F2128. Since we have fixed F2-bases for both fields, ι can be represented in practice as an 128×8F2-matrix. Embedding looks like taking a subset sum of that matrix's 8 columns. In practice, it turns out to be more efficient to implement the entire transformation as a single lookup table. In this case, we precompute and store all 256 images in F2128 of the various K-elements.
Mathematically, the embedding ι is not unique; it amounts to choosing a root of the Rijndael polynomial X8+X4+X3+X+1 within F2128. There are 8 choices.
We write σ0, σ1, and σ2 for the images under ι of ρ0, ρ1 and ρ2. We note that the elements (eq(σ,u))u∈B3 are also linearly independent over F2. Indeed,
eq(σ,u)=eq(ι(ρ),u)=ι(eq(ρ,u))
holds for each u∈B3, since ι is a field embedding (and "commutes" with the equality indicator). Moreover, ι takes F2-linearly independent lists to F2-linearly independent lists, since it's injective and F2-linear.
Deterministic Zerocheck
We now explain a zerocheck variant, adapting an idea of Dao and Thaler [DT24a]. We fix an ℓ-variate F2-polynomial t(X0,…,Xℓ−1), which is claimed to vanish identically on Bℓ.
In the usual zerocheck, the verifier samples an ℓ-dimensional fully random challenge rx←F2128ℓ; the parties then run a sumcheck on the claim
0=?x∈Bℓ∑t(x)⋅eq(rx,x).
By a standard analysis, the soundness analysis of this maneuver is bounded from above by 2128ℓ.
Instead, we instruct the verifier to sample an ℓ−3-dimensional random challenge rx, and let
rx:=(σ0,σ1,σ2,rx,0,…,rx,ℓ−4).
The first three components of rx are now "deterministic". The parties can now sumcheck
0=?x∈Bℓ∑t(x)⋅eq(rx,x).
This variant is also sound. In fact, its soundness error is bounded from above by just 2128ℓ−3. Indeed, if we write
Since the F2128-elements (eq(σ,v))v∈B3 are linearly independent over F2 (see above), if t(X0,…,Xℓ−1) is not identically zero over Bℓ, then t(X0,…,Xℓ−4) is likewise not identically zero over Bℓ−3. Here, we use the fact that t(X0,…,Xℓ−1)'s restriction to Bℓ is F2-valued.
On the other hand, the right-hand sum above is exactly the evaluation of the multilinear extension of t(X0,…,Xℓ−4) at rx. Since we just argued that t(X0,…,Xℓ−4) is not identically zero over Bℓ−3, the usual soundness analysis of the zerocheck imples that, except with probability at most 2128ℓ−3 over the verifier's choice of rx, the above sum is nonzero.
We will say more later about how the prover can actually exploit the structure of this rx during its univariate skip.