Proof of exponentiation是基于adaptive root assumption(充分必要条件)的。
特别适合当
x
x
x很大时,计算
r
=
x
m
o
d
l
,
u
r
r=x\ mod\ l,\ u^r
r=x mod l, ur将大量节约verifier直接计算
u
x
u^x
ux的时间。
借助Fiat-Shamir heuristic,可将上面的交互式PoE转化为NI-PoE: 对应在
https://github.com/dignifiedquire/rust-accumulators/blob/master/src/proofs.rs
中的实现为:
/// NI-PoE Prove
/// Assumes `u^x = w`
/// All operations are `mod n`.
pub fn ni_poe_prove(x: &BigUint, u: &BigUint, w: &BigUint, n: &BigUint) -> ExponentProof {
debug_assert!(&u.modpow(x, n) == w, "invalid input");
// l
关注
打赏