Computers the a
and b
values that are needed for proofs and such, but are removed for serialization.
Checks that this Chaum-Pedersen proof certifies that the prover knew an x, such that (g, g^x) and (h, h^x) share the same exponent x, without revealing x. Part of the proof is a challenge constant. By suppressing this check, "fake" proofs can be validated. Useful when doing disjunctive proofs.
See above.
See above.
See above.
See above.
Optional additional values to include in the hash challenge computation hash
If false, the challenge constant is not verified. (default: true)
true if the proof is valid
Produces a generic Chaum-Pedersen proof that two tuples share an exponent, i.e., that for (g, g^x) and (h, h^x), it's the same value of x, but without revealing x. This generic proof can be used as a building-block for many other proofs.
There's no need for g^x and h^x in this particular computation.
An element in Q, typically derived from the seed, used to randomize the generation of the proof
Any valid element in the subgroup of P
Any valid element in the subgroup of P
Any element in Q
Optional additional values to include in the start of the challenge computation hash.
Generated using TypeDoc
General-purpose Chaum-Pedersen proof object, demonstrating that the prover knows the exponent
x
for two tuples(g, g^x)
and(h, h^x)
, without revealing anything aboutx
. This is used as a component in other proofs.hash(a, b, and possibly other state) (aka challenge)
w + xc (aka response)