Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

_verify

Proof of Exponents: validate a proof of knowledge of the exponents y = g_1^x_1 g_2^x_2 ... g_N^x_N. The sigma protocol runs as follows:

    P:  k_i <-- R          sends    A = g_1^k_1... g_i^k_i ... g_N^k_N
    V:  c <-- R            sends    c
    P:  s_i = k_i + c*x_i  sends    s_i
    The verifier asserts:
    - g_1^s_1...g_i^s_i... g_N^s_N == A * (y^c)

notation: (P)rover (V)erifier (R)andom

EC_MUL: N+1; EC_ADD: N

Fully qualified path: she::protocols::poeN::_verify

pub fn _verify(
    y: NonZero<EcPoint>,
    generators: Array<NonZero<EcPoint>>,
    A: NonZero<EcPoint>,
    c: felt252,
    ss: Array<felt252>,
) -> Result<(), Errors>