mirror of
https://github.com/selfxyz/self.git
synced 2026-04-27 03:01:15 -04:00
delete FpPow3Mod in 65537
This commit is contained in:
@@ -91,37 +91,3 @@ template FpPow65537Mod(n, k) {
|
||||
out[j] <== adder.out[j];
|
||||
}
|
||||
}
|
||||
|
||||
/// @title FpPow3Mod
|
||||
/// @notice Computes base^3 mod modulus
|
||||
/// @dev Does not necessarily reduce fully mod modulus (the answer could be too big by a multiple of modulus)
|
||||
/// @param n Number of bits per chunk the modulus is split into.
|
||||
/// @param k Number of chunks the modulus is split into.
|
||||
/// @input base The base to exponentiate; assumes to consist of `k` chunks, each of which must fit in `n` bits
|
||||
/// @input modulus The modulus; assumes to consist of `k` chunks, each of which must fit in `n` bits
|
||||
/// @output out The result of the exponentiation.
|
||||
template FpPow3Mod(n, k) {
|
||||
signal input base[k];
|
||||
signal input modulus[k];
|
||||
|
||||
signal output out[k];
|
||||
|
||||
component doublers = FpMul(n, k);
|
||||
component adder = FpMul(n, k);
|
||||
|
||||
for (var j = 0; j < k; j++) {
|
||||
adder.p[j] <== modulus[j];
|
||||
doublers.p[j] <== modulus[j];
|
||||
}
|
||||
for (var j = 0; j < k; j++) {
|
||||
doublers.a[j] <== base[j];
|
||||
doublers.b[j] <== base[j];
|
||||
}
|
||||
for (var j = 0; j < k; j++) {
|
||||
adder.a[j] <== base[j];
|
||||
adder.b[j] <== doublers.out[j];
|
||||
}
|
||||
for (var j = 0; j < k; j++) {
|
||||
out[j] <== adder.out[j];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user