gnark package - github.com/consensys/gnark - Go Packages (original) (raw)
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.
Package groth16 implements Groth16 Zero Knowledge Proof system (aka zkSNARK).
Package groth16 implements Groth16 Zero Knowledge Proof system (aka zkSNARK).
Package icicle_bn254 implements ICICLE acceleration for BN254 Groth16 backend.
Package plonk implements PLONK Zero Knowledge Proof system.
Package plonk implements PLONK Zero Knowledge Proof system.
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.
Package gkrgates contains the registry of GKR gates.
Package examples provides various example circuits.
Package examples provides various example circuits.
Package inputpacking illustrates input packing for reducing public input.
Package inputpacking illustrates input packing for reducing public input.
Package pubkeyhashing implements a simple example of ECDSA public key hashing using SHA2.
Package pubkeyhashing implements a simple example of ECDSA public key hashing using SHA2.
Package sudoku implements a Sudoku circuit using gnark.
Package sudoku implements a Sudoku circuit using gnark.
Package witness provides an example of witness export as vector.
Package witness provides an example of witness export as vector.
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.
Package circuits contains test circuits
Package frontendtype allows to assert frontend type.
Package frontendtype allows to assert frontend type.
Package gkrinfo contains serializable information capable of being saved in a SNARK circuit CS object.
Package gkrinfo contains serializable information capable of being saved in a SNARK circuit CS object.
Package kvstore implements simple key-value store
Package kvstore implements simple key-value store
Package regressiontests includes tests to avoid re-introducing regressions.
Package regressiontests includes tests to avoid re-introducing regressions.
Package polynomial provides polynomial methods and commitment schemes.
Package tinyfield contains field arithmetic operations for modulus = 0x2f.
package widecommitter provides mocked implementation of the widecommitter interface
package widecommitter provides mocked implementation of the widecommitter interface
Package io offers serialization interfaces for gnark objects.
Package io offers serialization interfaces for gnark objects.
Package logger provides a configurable logger across gnark components
Package logger provides a configurable logger across 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.
Package graph collects a set of samples into a directed graph.
Package graph collects a set of samples into a directed graph.
Package measurement export utility functions to manipulate/format performance profile sample values.
Package measurement export utility functions to manipulate/format performance profile sample values.
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.
Package merkle provides a ZKP-circuit function to verify merkle proofs.
Package merkle provides a ZKP-circuit function to verify merkle proofs.
Package algebra implements:
Package algebra implements:
Package algopts provides shareable options for modifying algebraic operations.
Package algopts provides shareable options for modifying algebraic operations.
algebra/emulated/fields_bls12381
Package fields_bls12381 implements the fields arithmetic of the direct 𝔽p¹² extension used to compute the pairing over the BLS12-381 curve.
Package fields_bls12381 implements the fields arithmetic of the direct 𝔽p¹² extension used to compute the pairing over the BLS12-381 curve.
Package fields_bn254 implements the fields arithmetic of the direct 𝔽p¹² extension used to compute the pairing over the BN254 curve.
Package fields_bn254 implements the fields arithmetic of the direct 𝔽p¹² extension used to compute the pairing over the BN254 curve.
algebra/emulated/fields_bw6761
Package fields_bw6761 implements the fields arithmetic of the Fp6 tower used to compute the pairing over the BW6-761 curve.
Package fields_bw6761 implements the fields arithmetic of the Fp6 tower used to compute the pairing over the BW6-761 curve.
Package sw_bls12381 implements G1 and G2 arithmetics and pairing computation over BLS12-381 curve.
Package sw_bn254 implements G1 and G2 arithmetics and pairing computation over BN254 curve.
Package sw_bw6761 implements G1 and G2 arithmetics and pairing computation over BW6-761 curve.
Package sw_emulated implements elliptic curve group operations in (short) Weierstrass form.
algebra/native/fields_bls12377
Package fields_bls12377 implements the fields arithmetic of the Fp12 tower used to compute the pairing over the BLS12-377 curve.
Package fields_bls12377 implements the fields arithmetic of the Fp12 tower used to compute the pairing over the BLS12-377 curve.
algebra/native/fields_bls24315
Package fields_bls24315 implements the fields arithmetic of the Fp24 tower used to compute the pairing over the BLS24-315 curve.
Package fields_bls24315 implements the fields arithmetic of the Fp24 tower used to compute the pairing over the BLS24-315 curve.
Package sw_bls12377 implements the arithmetics of G1, G2 and the pairing computation on BLS12-377 as a SNARK circuit over BW6-761.
Package sw_bls12377 implements the arithmetics of G1, G2 and the pairing computation on BLS12-377 as a SNARK circuit over BW6-761.
Package sw_bls24315 implements the arithmetics of G1, G2 and the pairing computation on BLS24-315 as a SNARK circuit over BW6-633.
Package sw_bls24315 implements the arithmetics of G1, G2 and the pairing computation on BLS24-315 as a SNARK circuit over BW6-633.
Package twistededwards implements the arithmetic of twisted Edwards curves in native fields.
Package kzg implements KZG polynomial commitment verification.
Package kzg implements KZG polynomial commitment verification.
Package pedersen implements the Pedersen vector commitment scheme verifier.
Package conversion provides methods for converting between different primitive types.
Package conversion provides methods for converting between different primitive types.
Package evmprecompiles implements the Ethereum VM precompile contracts.
Package evmprecompiles implements the Ethereum VM precompile contracts.
Package hash provides an interface that hash functions (as gadget) should implement.
Package hash provides an interface that hash functions (as gadget) should implement.
Package mimc provides a ZKP-circuit function to compute a MiMC hash.
Package mimc provides a ZKP-circuit function to compute a MiMC hash.
Package ripemd160 implements in-circuit ripemd160 hash function.
Package ripemd160 implements in-circuit ripemd160 hash function.
Package sha2 implements SHA2 hash computation.
Package sha2 implements SHA2 hash computation.
Package sha3 provides ZKP circuits for SHA3 hash algorithms applying sponge construction over Keccak f-[1600] permutation function.
Package sha3 provides ZKP circuits for SHA3 hash algorithms applying sponge construction over Keccak f-[1600] permutation function.
Package logderivarg implements log-derivative argument.
Package logderivprecomp allows computing functions using precomputation.
Package mimc implements the MiMC hash function as a gnark circuit
Package mimc implements the MiMC hash function as a gnark circuit
Package logderiv implements append-only lookups using log-derivative argument.
Package bitslice allows partitioning variables.
Package cmp provides methods and functions for comparing two numbers.
Package cmp provides methods and functions for comparing two numbers.
Package emulated implements operations over any modulus.
Package emulated implements operations over any modulus.
Package emparams contains emulation parameters for well known fields.
Package fieldextension provides operations over an extension field of the native field.
Package fieldextension provides operations over an extension field of the native field.
Package polynomial provides field-agnostic polynomials.
Package uints implements optimised byte and long integer operations.
Package uints implements optimised byte and long integer operations.
Package multicommit implements commitment expansion.
Package multicommit implements commitment expansion.
Package keccakf implements the KeccakF-1600 permutation function.
Package ripemd160 implements the permutation used in the ripemd160 hash function.
Package rangecheck implements range checking gadget
Package rangecheck implements range checking gadget
Package recursion provides in-circuit verifiers for different proofs systems.
Package recursion provides in-circuit verifiers for different proofs systems.
Package groth16 provides in-circuit Groth16 verifier.
Package plonk implements in-circuit PLONK verifier.
Package sumcheck implements non-native sumcheck verifier.
Package selector provides a lookup table and map, based on linear scan.
Package selector provides a lookup table and map, based on linear scan.
Package ecdsa implements ECDSA signature verification over any elliptic curve.
Package ecdsa implements ECDSA signature verification over any elliptic curve.
Package eddsa implements EdDSA signature verification over twisted Edwards elliptic curves available in gnark and gnark-crypto.
Package eddsa implements EdDSA signature verification over twisted Edwards elliptic curves available in gnark and gnark-crypto.
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.
Package unsafekzg is a convenience package (to be use for test purposes only) to generate and cache SRS for the kzg scheme (and indirectly for PlonK setup).
Package unsafekzg is a convenience package (to be use for test purposes only) to generate and cache SRS for the kzg scheme (and indirectly for PlonK setup).