Documentation ¶
Overview ¶
Package gnark provides fast Zero Knowledge Proofs (ZKP) systems and a high level APIs to design ZKP circuits.
gnark supports the following ZKP schemes:
- Groth16
- PLONK
gnark supports the following curves:
- BN254
- BLS12_377
- BLS12_381
- BW6_761
- BLS24_315
- BW6_633
- BLS24_317
User documentation https://docs.gnark.consensys.net
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Version = semver.MustParse("0.8.0")
Functions ¶
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
Package backend implements Zero Knowledge Proof systems: it consumes circuit compiled with gnark/frontend.
|
Package backend implements Zero Knowledge Proof systems: it consumes circuit compiled with gnark/frontend. |
groth16
Package groth16 implements Groth16 Zero Knowledge Proof system (aka zkSNARK).
|
Package groth16 implements Groth16 Zero Knowledge Proof system (aka zkSNARK). |
hint
Package hint allows to define computations outside of a circuit.
|
Package hint allows to define computations outside of a circuit. |
plonk
Package plonk implements PLONK Zero Knowledge Proof system.
|
Package plonk implements PLONK Zero Knowledge Proof system. |
witness
Package witness provides serialization helpers to encode a witness into a []byte.
|
Package witness provides serialization helpers to encode a witness into a []byte. |
Package constraint provides constructs needed to build and use a constraint system.
|
Package constraint provides constructs needed to build and use a constraint system. |
schema/internal/reflectwalk
reflectwalk is a package that allows you to "walk" complex structures similar to how you may "walk" a filesystem: visiting every element one by one and calling callback functions allowing you to handle and manipulate those elements.
|
reflectwalk is a package that allows you to "walk" complex structures similar to how you may "walk" a filesystem: visiting every element one by one and calling callback functions allowing you to handle and manipulate those elements. |
internal
|
|
backend/circuits
Package circuits contains test circuits
|
Package circuits contains test circuits |
tinyfield
Package tinyfield contains field arithmetic operations for modulus = 0x2f.
|
Package tinyfield contains field arithmetic operations for modulus = 0x2f. |
Package io offers serialization interfaces for gnark objects.
|
Package io offers serialization interfaces for gnark objects. |
Package logger provides a configurable logger accross gnark components
|
Package logger provides a configurable logger accross gnark components |
Package profile provides a simple way to generate pprof compatible gnark circuit profile.
|
Package profile provides a simple way to generate pprof compatible gnark circuit profile. |
internal/graph
Package graph collects a set of samples into a directed graph.
|
Package graph collects a set of samples into a directed graph. |
internal/measurement
Package measurement export utility functions to manipulate/format performance profile sample values.
|
Package measurement export utility functions to manipulate/format performance profile sample values. |
internal/report
Package report summarizes a performance profile into a human-readable report.
|
Package report summarizes a performance profile into a human-readable report. |
Package std provides components or functions to help design gnark circuits.
|
Package std provides components or functions to help design gnark circuits. |
accumulator/merkle
Package merkle provides a ZKP-circuit function to verify merkle proofs.
|
Package merkle provides a ZKP-circuit function to verify merkle proofs. |
algebra/sw_bls12377
Package sw (short weierstrass)
|
Package sw (short weierstrass) |
algebra/sw_bls24315
Package sw (short weierstrass)
|
Package sw (short weierstrass) |
algebra/weierstrass
Package weierstrass implements elliptic curve group operations in (short) Weierstrass form.
|
Package weierstrass implements elliptic curve group operations in (short) Weierstrass form. |
commitments/kzg_bls12377
Package kzg_bls12377 provides a ZKP-circuit function to verify BLS12_377 KZG inside a BW6_761 circuit.
|
Package kzg_bls12377 provides a ZKP-circuit function to verify BLS12_377 KZG inside a BW6_761 circuit. |
commitments/kzg_bls24315
Package kzg_bls24315 provides a ZKP-circuit function to verify BLS24_315 KZG inside a BW6_633 circuit.
|
Package kzg_bls24315 provides a ZKP-circuit function to verify BLS24_315 KZG inside a BW6_633 circuit. |
groth16_bls12377
Package groth16_bls12377 provides a ZKP-circuit function to verify BLS12_377 Groth16 inside a BW6_761 circuit.
|
Package groth16_bls12377 provides a ZKP-circuit function to verify BLS12_377 Groth16 inside a BW6_761 circuit. |
groth16_bls24315
Package groth16_bls24315 provides a ZKP-circuit function to verify BLS24-315 Groth16 inside a BW6-633 circuit.
|
Package groth16_bls24315 provides a ZKP-circuit function to verify BLS24-315 Groth16 inside a BW6-633 circuit. |
hash
Package hash provides an interface that hash functions (as gadget) should implement.
|
Package hash provides an interface that hash functions (as gadget) should implement. |
hash/mimc
Package mimc provides a ZKP-circuit function to compute a MiMC hash.
|
Package mimc provides a ZKP-circuit function to compute a MiMC hash. |
math/emulated
Package emulated implements operations over any modulus.
|
Package emulated implements operations over any modulus. |
permutation/keccakf
Package keccakf implements the KeccakF-1600 permutation function.
|
Package keccakf implements the KeccakF-1600 permutation function. |
signature/ecdsa
Package ecdsa implements ECDSA signature verification over any elliptic curve.
|
Package ecdsa implements ECDSA signature verification over any elliptic curve. |
signature/eddsa
Package eddsa provides a ZKP-circuit function to verify a EdDSA signature.
|
Package eddsa provides a ZKP-circuit function to verify a EdDSA signature. |
Package test provides components or functions to help test and fuzz gnark circuits.
|
Package test provides components or functions to help test and fuzz gnark circuits. |
Click to show internal directories.
Click to hide internal directories.