mirror of
https://github.com/arnaucube/circomlib.git
synced 2026-02-06 18:56:43 +01:00
BabyJub Optimization
This commit is contained in:
@@ -11,7 +11,6 @@ template BabyAdd() {
|
|||||||
signal beta;
|
signal beta;
|
||||||
signal gamma;
|
signal gamma;
|
||||||
signal delta;
|
signal delta;
|
||||||
signal epsilon;
|
|
||||||
signal tau;
|
signal tau;
|
||||||
|
|
||||||
var a = 168700;
|
var a = 168700;
|
||||||
@@ -19,15 +18,14 @@ template BabyAdd() {
|
|||||||
|
|
||||||
beta <== x1*y2;
|
beta <== x1*y2;
|
||||||
gamma <== y1*x2;
|
gamma <== y1*x2;
|
||||||
delta <== y1*y2;
|
delta <== (-a*x1+y1)*(x2 + y2);
|
||||||
epsilon <== x1*x2;
|
tau <== beta * gamma;
|
||||||
tau <== delta * epsilon;
|
|
||||||
|
|
||||||
xout <-- (beta + gamma) / (1+ d*tau);
|
xout <-- (beta + gamma) / (1+ d*tau);
|
||||||
(1+ d*tau) * xout === (beta + gamma);
|
(1+ d*tau) * xout === (beta + gamma);
|
||||||
|
|
||||||
yout <-- (delta - a * epsilon) / (1-d*tau);
|
yout <-- (delta + a*beta - gamma) / (1-d*tau);
|
||||||
(1-d*tau)*yout === (delta - a * epsilon);
|
(1-d*tau)*yout === (delta + a*beta - gamma);
|
||||||
}
|
}
|
||||||
|
|
||||||
template BabyDbl() {
|
template BabyDbl() {
|
||||||
|
|||||||
Reference in New Issue
Block a user