Expand description
Exponentiation via GKR.
Let’s represent $A$ by its bits, i.e., for each $v \in B_\ell$ we have $A(v)= \sum_{i=0}^{n-1} 2^{i} \cdot b_{i}(v)$. Then, exponentiation can be split into cases, each with its own circuit.
-
Exponentiation of the generator by a chunk of bit-columns:
$V_0(X) = 1 - a_0(X) + a_0(X) \cdot g$
$V_{1}(X) = \sum_{v \in B_\ell} \tilde{\mathbf{eq}}(v, X) \cdot V_{0}(v) \cdot \left(1 - a_{1}(v) + a_{1}(v) \cdot g^{2} \right)$
…
$V_n(X) = \sum_{v \in B_\ell} \tilde{\mathbf{eq}}(v, X) \cdot V_{n-2}(v) \cdot \left(1 - a_{n-1}(v) + a_{n-1}(v) \cdot g^{2^{n-1}} \right)$
-
Exponentiation of the multilinear base by a chunk of bit-columns:
$W_0(X) = \sum_{v \in B_\ell} \tilde{\mathbf{eq}}(v, X) \cdot (1 - a_{n-1}(v) + a_{n-1}(v) \cdot V(v))$
$W_1(X) = \sum_{v \in B_\ell} \tilde{\mathbf{eq}}(v, X) \cdot (W_0(v))^2 \cdot (1 - a_{n-2}(v) + a_{n-2}(v) \cdot V(v))$
…
$W_{n-1}(X) = \sum_{v \in B_\ell} \tilde{\mathbf{eq}}(v, X) \cdot (W_{n-2}(v))^2 \cdot (1 - a_0(v) + a_0(v) \cdot V(v)).$
You can read more information in Integer Multiplication in Binius.
Structs§
- Base
ExpReduction Output - Base
ExpWitness - ExpClaim
- ExpClaim is a claim about the evaluation of the first layer-multilinear at a specific evaluation point.
Functions§
- batch_
prove - Prove a batched GKR exponentiation protocol execution.
- batch_
verify - Verify a batched GKR exponentiation protocol execution.