arnaucube
arnaucube/grapevine-sonobePublic Self-hosted repository
grapevine-sonobe/circom/node_modules/circomlib/test/circuits/escalarmul_test.circom
circom/node_modules/circomlib/test/circuits/escalarmul_test.circomRaw
 1pragma circom 2.0.0;
 2
 3include "../../circuits/escalarmul.circom";
 4include "../../circuits/bitify.circom";
 5
 6
 7template Main() {
 8    signal input in;
 9    signal output out[2];
10
11    var base[2] = [5299619240641551281634865583518297030282874472190772894086521144482721001553,
12            16950150798460657717958625567821834550301663161624707787222815936182638968203];
13
14
15    component n2b = Num2Bits(253);
16    component escalarMul = EscalarMul(253, base);
17
18    escalarMul.inp[0] <== 0;
19    escalarMul.inp[1] <== 1;
20
21    var i;
22
23    in ==> n2b.in;
24
25    for  (i=0; i<253; i++) {
26        n2b.out[i] ==> escalarMul.in[i];
27    }
28
29    escalarMul.out[0] ==> out[0];
30    escalarMul.out[1] ==> out[1];
31}
32
33component main = Main();