Class: SigmaProofAnd

verificatum.crypto.SigmaProofAnd(sigmaProofs)

new SigmaProofAnd(sigmaProofs)

Conjunction of Sigma proofs with identical challenge spaces.
Parameters:
Name Type Description
sigmaProofs Component Sigma proofs.
Source:

Extends

Methods

byteTreeToCommitment(byteTree)

Converts a byte tree to a commitment.
Parameters:
Name Type Description
byteTree Byte tree representation of a commitment.
Inherited From:
Source:
Returns:
Commitment.

byteTreeToReply(byteTree)

Converts a byte tree to a reply.
Parameters:
Name Type Description
byteTree Byte tree representation of a reply.
Inherited From:
Source:
Returns:
Reply.

challenge(first, second)

Computes the challenge of the verifier using either a source of randomness or by applying the Fiat-Shamir heuristic to a byte tree using a given hash function.
Parameters:
Name Type Description
first Source of randomness, or data to be hashed.
second Statistical distance from the uniform distribution assuming a perfect random source, or a hash function used to implement the Fiat-Shamir heuristic.
Inherited From:
Source:
Returns:
Challenge of the verifier.

check(instance, commitment, challenge, witness, reply)

Computes the verdict of the verifier on a transcript.
Parameters:
Name Type Description
instance Instance.
commitment Commitment.
challenge Challenge of the prover.
witness Witness.
reply Reply.
Overrides:
Source:
Returns:
Verdict of the verifier as a boolean.

commit(precomputed, instance, witness, randomSource, statDist)

Computes a pair of updated pre-computed values and a commitment.
Parameters:
Name Type Description
precomputed Pre-computed values.
instance Instance.
witness Witness.
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Overrides:
Source:
Returns:
Pair of updated pre-computed values and a commitment.

commitmentToByteTree(commitment)

Converts a commitment to a byte tree.
Parameters:
Name Type Description
commitment Commitment.
Inherited From:
Source:
Returns:
Byte tree representation of the commitment.

completeProof(precomputed, label, instance, witness, hashfunction, randomSource, statDist)

Completes a proof using pre-computed values.
Parameters:
Name Type Description
precomputed Pre-computed values.
label Label as an array of bytes or byte tree.
instance Instance.
witness Witness of instance belonging to the right language.
hashfunction Hash function used to implement the random oracle.
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Inherited From:
Source:
Returns:
Proof in the form of a byte array.

instanceToByteTree(instance)

Converts an instance to a byte tree.
Parameters:
Name Type Description
instance Instance.
Inherited From:
Source:
Returns:
Byte tree representation of the instance.

precompute(randomSource, statDist)

Performs pre-computation.
Parameters:
Name Type Description
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Overrides:
Source:
Returns:
Pre-computed values.

precomputeRequiresInstance()

Indicates if pre-computation requires the instance. This allows choosing the right pre-computation function.
Inherited From:
Source:
Returns:
True or false depending on if pre-computation requires the instance or not.

precomputeWithInstance(instance, randomSource, statDist)

Performs pre-computation when the instance is needed.
Parameters:
Name Type Description
instance Instance.
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Inherited From:
Source:
Returns:
Pre-computed values.

prove(label, instance, witness, hashfunction, randomSource, statDist)

Computes a proof.
Parameters:
Name Type Description
label Label as an array of bytes or byte tree.
instance Instance.
witness Witness of instance belonging to the right language.
hashfunction Hash function used to implement the random oracle.
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Inherited From:
Source:
Returns:
Proof in the form of a byte array.

randomnessByteLength(statDist)

Number of bytes or randomness needed to compute a proof.
Parameters:
Name Type Description
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Overrides:
Source:
Returns:
Number of bytes needed to compute a proof.

reply(precomputed, witness, challenge, randomness)

Computes the reply of the prover.
Parameters:
Name Type Description
precomputed Pre-computed values needed to compute the reply.
witness Witness.
challenge Challenge of the verifier.
randomness Randomness used to form the commitment.
Inherited From:
Source:
Returns:
Reply of the prover.

replyToByteTree(reply)

Converts a reply to a byte tree.
Parameters:
Name Type Description
reply Reply.
Inherited From:
Source:
Returns:
Byte tree representation of the reply.

simulate(instance, challenge, randomSource, statDist)

Simulates a commitment and reply for the given challenge.
Parameters:
Name Type Description
instance Instance.
challenge Challenge of the verifier.
randomSource Source of randomness.
statDist Statistical distance from the uniform distribution assuming a perfect random source.
Overrides:
Source:
Returns:
Pair of a commitment and reply.

verify(label, instance, hashfunction, proof)

Verifies a proof. This is meant to be used for debugging, so the granularity in error handling is rudimentary.
Parameters:
Name Type Description
label Label as an array of bytes or byte tree.
instance Instance.
hashfunction Hash function used to implement the random oracle.
proof Candidate proof in the form of a byte array.
Inherited From:
Source:
Returns:
True or false depending on if the candidate proof is valid or not.