Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <shplemini.hpp>
Public Types | |
using | FF = typename Curve::ScalarField |
using | GroupElement = typename Curve::Element |
using | Commitment = typename Curve::AffineElement |
using | Polynomial = bb::Polynomial< FF > |
using | OpeningClaim = ProverOpeningClaim< Curve > |
using | VK = CommitmentKey< Curve > |
using | ShplonkProver = ShplonkProver_< Curve > |
using | GeminiProver = GeminiProver_< Curve > |
using | PolynomialBatcher = GeminiProver::PolynomialBatcher |
Static Public Member Functions | |
template<typename Transcript > | |
static OpeningClaim | prove (const FF circuit_size, PolynomialBatcher &polynomial_batcher, std::span< FF > multilinear_challenge, const CommitmentKey< Curve > &commitment_key, const std::shared_ptr< Transcript > &transcript, const std::array< Polynomial, NUM_SMALL_IPA_EVALUATIONS > &libra_polynomials={}, const std::vector< Polynomial > &sumcheck_round_univariates={}, const std::vector< std::array< FF, 3 > > &sumcheck_round_evaluations={}) |
template<typename Transcript > | |
static std::vector< OpeningClaim > | compute_libra_opening_claims (const FF gemini_r, const std::array< Polynomial, NUM_SMALL_IPA_EVALUATIONS > &libra_polynomials, const std::shared_ptr< Transcript > &transcript) |
For ZK Flavors: Evaluate the polynomials used in SmallSubgroupIPA argument, send the evaluations to the verifier, and populate a vector of the opening claims. | |
static std::vector< OpeningClaim > | compute_sumcheck_round_claims (const FF circuit_size, std::span< FF > multilinear_challenge, const std::vector< Polynomial > &sumcheck_round_univariates, const std::vector< std::array< FF, 3 > > &sumcheck_round_evaluations) |
Create a vector of 3*log_n opening claims for the evaluations of Sumcheck Round Univariates at 0, 1, and a round challenge. | |
Definition at line 21 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::Commitment = typename Curve::AffineElement |
Definition at line 25 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::FF = typename Curve::ScalarField |
Definition at line 23 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::GeminiProver = GeminiProver_<Curve> |
Definition at line 31 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::GroupElement = typename Curve::Element |
Definition at line 24 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::OpeningClaim = ProverOpeningClaim<Curve> |
Definition at line 27 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::Polynomial = bb::Polynomial<FF> |
Definition at line 26 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::PolynomialBatcher = GeminiProver::PolynomialBatcher |
Definition at line 32 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::ShplonkProver = ShplonkProver_<Curve> |
Definition at line 30 of file shplemini.hpp.
using bb::ShpleminiProver_< Curve >::VK = CommitmentKey<Curve> |
Definition at line 29 of file shplemini.hpp.
|
inlinestatic |
For ZK Flavors: Evaluate the polynomials used in SmallSubgroupIPA argument, send the evaluations to the verifier, and populate a vector of the opening claims.
Definition at line 78 of file shplemini.hpp.
|
inlinestatic |
Create a vector of 3*log_n opening claims for the evaluations of Sumcheck Round Univariates at 0, 1, and a round challenge.
Definition at line 111 of file shplemini.hpp.
|
inlinestatic |
Definition at line 35 of file shplemini.hpp.