Module zksnark::groth16

source ·
Expand description

Implementaiton of groth16 along with a basic language for representing arithmetic circuits.

The structs and functions in this module are named to closely coincide with the paper, which can be consulted to help with any confusion.

Re-exports

pub use self::circuit::weights;
pub use self::fr::FrLocal;

Modules

Structs

The proof produced by the ZKSNARK algorithm.
The Quadratic Arithmetic Program (QAP) that represents an arithmetic circuit.
The G1 part of the common reference string (CRS)
The G2 part of the common reference string (CRS)

Traits

Defines a relationship between the three groups in the pairing based cryptography system, in relation to the Self type which is to be encrypted.
Represents a type that can check whether a particular value is the identity.
Represents that a type can produce a random element of itself.

Functions

Create a Proof from a QAP, CRS and the circuit weights.
Performs the setup for the ZKSNARK given a QAP.
Verify a given proof against the CRS and verifier inputs.