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.
39 lines
1.1 KiB
39 lines
1.1 KiB
import "ecc/edwardsScalarMult" as scalarmul;
|
|
import "ecc/edwardsAdd" as add;
|
|
import "ecc/babyjubjubParams" as babyJubJubParams;
|
|
from "ecc/babyjubjubParams" import BabyJubJubParams;
|
|
import "utils/pack/bool/nonStrictUnpack256" as pack256;
|
|
|
|
def commit(field r, field[2] g, BabyJubJubParams context) -> field[2]{
|
|
|
|
bool[256] exp_r =pack256(r);
|
|
return scalarmul(exp_r,g,context);
|
|
}
|
|
def main( private field r, field[2] g, field[2] expect_commit) {
|
|
|
|
BabyJubJubParams context = babyJubJubParams();
|
|
|
|
field[2] result = commit(r,g,context);
|
|
|
|
assert(result == expect_commit);
|
|
|
|
return;
|
|
}
|
|
|
|
/*//计算基于bn254的pedersen承诺
|
|
def commit(field v, field r, field[2] g, field[2] h, BabyJubJubParams context) -> field[2]{
|
|
bool[256] exp_v =pack256(v);
|
|
bool[256] exp_r =pack256(r);
|
|
return add(scalarmul(exp_v,g,context),scalarmul(exp_r,h,context),context);
|
|
}
|
|
|
|
def main(private field v, private field r, field[2] g, field[2] h, field[2] expect_commit) {
|
|
|
|
BabyJubJubParams context = babyJubJubParams();
|
|
|
|
field[2] result = commit(v,r,g,h,context);
|
|
|
|
assert(result == expect_commit);
|
|
|
|
return;
|
|
}*/ |