You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
688 B

include "../node_modules/circomlib/circuits/comparators.circom";
/*
Circuit to check that prover knows a private inputs x & y,
such as x**a - y**b = 0, where a & b are known parameters.
*/
template Equation(a, b) {
signal private input x;
signal private input y;
signal aArray[a];
signal bArray[b];
for (var i=0; i<a; i++) {
if (i==0) {
aArray[0] <== x;
} else {
aArray[i] <== x * aArray[i-1];
}
}
for(var i=0; i<b; i++) {
if (i==0) {
bArray[0] <== y;
} else {
bArray[i] <== y * bArray[i-1];
}
}
component checkEq = IsEqual();
checkEq.in[0] <== aArray[a-1];
checkEq.in[1] <== bArray[b-1];
checkEq.out === 1;
}
component main = Equation(4, 8);