Documentation ¶
Overview ¶
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Commitments ¶
Commitments to the randomness used in the one-out-of-many proof
type Proof ¶
type Proof struct { Commitments *Commitments Values *Values }
Proof is a one-out-of-many proof
func (*Proof) Deserialize ¶
Deserialize un-marshals Proof
type Prover ¶
type Prover struct { *Verifier // contains filtered or unexported fields }
Prover produces a one-out-of-many proof A one-out-of-many proof allows a prover who is given a list of commitments (c_1, ..., c_n) to show that they know that there is i \in [N] and r_i \in Z_p such that c_i = Q^r_i (i.e., c_i is commitment to 0)
type Values ¶
Values corresponds to r+w*c, where c is the challenge in one-out-of-many proof, r is a random number and w is a secret information known to the prover. The Prover uses Values to show knowledge of (i, r_i) such that c_i \in {c_1, ..., c_n} corresponds to c_i = H^r_i
type Verifier ¶
type Verifier struct { Commitments []*math.G1 Message []byte PedersenParams []*math.G1 // Pedersen commitments parameters BitLength int Curve *math.Curve }
Verifier checks the validity of one-out-of-many proofs