nizk: better u param for range proofs/TODO: optimize
This commit is contained in:
parent
51ada703ed
commit
9aaec97e3e
|
@ -310,7 +310,7 @@ impl<E: Engine> RPPublicParams<E> {
|
|||
if a > b {
|
||||
panic!("a must be less than or equal to b");
|
||||
}
|
||||
//TODO: optimize u?
|
||||
|
||||
let logb = (b as f32).log2();
|
||||
let loglogb = logb.log2();
|
||||
if loglogb > 0.0 {
|
||||
|
@ -318,6 +318,7 @@ impl<E: Engine> RPPublicParams<E> {
|
|||
if u < 2 {
|
||||
u = 2;
|
||||
}
|
||||
u = 57; //TODO: optimize u?
|
||||
let l = (b as f32).log(u as f32).ceil() as i32;
|
||||
|
||||
let params_out: ParamsUL<E> = ParamsUL::<E>::setup_ul(rng, u, l, csParams.clone());
|
||||
|
@ -615,9 +616,9 @@ mod tests {
|
|||
let public_params = RPPublicParams::<Bls12>::setup(rng, 2, 10, csParams);
|
||||
assert_eq!(public_params.a, 2);
|
||||
assert_eq!(public_params.b, 10);
|
||||
assert_eq!(public_params.p.signatures.len(), 2);
|
||||
assert_eq!(public_params.p.u, 2);
|
||||
assert_eq!(public_params.p.l, 4);
|
||||
assert_eq!(public_params.p.signatures.len(), 57);
|
||||
assert_eq!(public_params.p.u, 57);
|
||||
assert_eq!(public_params.p.l, 1);
|
||||
for (m, s) in public_params.p.signatures {
|
||||
assert_eq!(public_params.p.kp.verify(&public_params.p.mpk, &vec! {Fr::from_str(m.to_string().as_str()).unwrap()}, &Fr::zero(), &s), true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue