Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::CommitmentTest< Curve > Class Template Reference

#include <commitment_key.test.hpp>

Inheritance diagram for bb::CommitmentTest< Curve >:
GeminiTest< Curve > bb::KZGTest

Public Member Functions

 CommitmentTest ()
 
const CKck ()
 
VKvk ()
 
Commitment commit (const Polynomial &polynomial)
 
Fr random_element ()
 
Polynomial random_polynomial (const size_t poly_size)
 
OpeningPair< Curverandom_eval (const Polynomial &polynomial)
 
std::vector< Frrandom_evaluation_point (const size_t num_variables)
 
void verify_opening_claim (const OpeningClaim< Curve > &claim, const Polynomial &witness, CommitmentKey< Curve > ck=CommitmentKey< Curve >())
 
void verify_opening_pair (const OpeningPair< Curve > &opening_pair, const Polynomial &witness)
 
void verify_batch_opening_claim (std::span< const OpeningClaim< Curve > > multi_claims, std::span< const Polynomial > witnesses)
 Ensures that a 'BatchOpeningClaim' is correct by checking that.
 
void verify_batch_opening_pair (std::vector< ProverOpeningClaim< Curve > > opening_claims)
 Ensures that a set of opening pairs is correct by checking that evaluations are correct by recomputing them from each witness polynomial.
 
std::vector< UnivariateClaimData< Curve > > generate_claim_data (const std::vector< size_t > &poly_sizes)
 
std::pair< std::vector< Fr >, std::vector< Fr > > combine_claims (std::vector< UnivariateClaimData< Curve > > &claims)
 

Static Public Member Functions

static void SetUpTestSuite ()
 
static void TearDownTestSuite ()
 

Public Attributes

numeric::RNGengine
 

Static Public Attributes

static CK commitment_key
 
static VK verification_key
 

Private Types

using CK = CommitmentKey< Curve >
 
using VK = VerifierCommitmentKey< Curve >
 
using Fr = typename Curve::ScalarField
 
using Commitment = typename Curve::AffineElement
 
using Polynomial = bb::Polynomial< Fr >
 

Detailed Description

template<typename Curve>
class bb::CommitmentTest< Curve >

Definition at line 125 of file commitment_key.test.hpp.

Member Typedef Documentation

◆ CK

template<typename Curve >
using bb::CommitmentTest< Curve >::CK = CommitmentKey<Curve>
private

Definition at line 126 of file commitment_key.test.hpp.

◆ Commitment

template<typename Curve >
using bb::CommitmentTest< Curve >::Commitment = typename Curve::AffineElement
private

Definition at line 130 of file commitment_key.test.hpp.

◆ Fr

template<typename Curve >
using bb::CommitmentTest< Curve >::Fr = typename Curve::ScalarField
private

Definition at line 129 of file commitment_key.test.hpp.

◆ Polynomial

template<typename Curve >
using bb::CommitmentTest< Curve >::Polynomial = bb::Polynomial<Fr>
private

Definition at line 131 of file commitment_key.test.hpp.

◆ VK

template<typename Curve >
using bb::CommitmentTest< Curve >::VK = VerifierCommitmentKey<Curve>
private

Definition at line 127 of file commitment_key.test.hpp.

Constructor & Destructor Documentation

◆ CommitmentTest()

template<typename Curve >
bb::CommitmentTest< Curve >::CommitmentTest ( )
inline

Definition at line 134 of file commitment_key.test.hpp.

Member Function Documentation

◆ ck()

template<typename Curve >
const CK & bb::CommitmentTest< Curve >::ck ( )
inline

Definition at line 138 of file commitment_key.test.hpp.

◆ combine_claims()

template<typename Curve >
std::pair< std::vector< Fr >, std::vector< Fr > > bb::CommitmentTest< Curve >::combine_claims ( std::vector< UnivariateClaimData< Curve > > &  claims)
inline

Definition at line 241 of file commitment_key.test.hpp.

◆ commit()

template<typename Curve >
Commitment bb::CommitmentTest< Curve >::commit ( const Polynomial polynomial)
inline

Definition at line 141 of file commitment_key.test.hpp.

◆ generate_claim_data()

template<typename Curve >
std::vector< UnivariateClaimData< Curve > > bb::CommitmentTest< Curve >::generate_claim_data ( const std::vector< size_t > &  poly_sizes)
inline

Definition at line 221 of file commitment_key.test.hpp.

◆ random_element()

template<typename Curve >
Fr bb::CommitmentTest< Curve >::random_element ( )
inline

Definition at line 143 of file commitment_key.test.hpp.

◆ random_eval()

template<typename Curve >
OpeningPair< Curve > bb::CommitmentTest< Curve >::random_eval ( const Polynomial polynomial)
inline

Definition at line 147 of file commitment_key.test.hpp.

◆ random_evaluation_point()

template<typename Curve >
std::vector< Fr > bb::CommitmentTest< Curve >::random_evaluation_point ( const size_t  num_variables)
inline

Definition at line 154 of file commitment_key.test.hpp.

◆ random_polynomial()

template<typename Curve >
Polynomial bb::CommitmentTest< Curve >::random_polynomial ( const size_t  poly_size)
inline

Definition at line 145 of file commitment_key.test.hpp.

◆ SetUpTestSuite()

template<typename Curve >
static void bb::CommitmentTest< Curve >::SetUpTestSuite ( )
inlinestatic

Definition at line 280 of file commitment_key.test.hpp.

◆ TearDownTestSuite()

template<typename Curve >
static void bb::CommitmentTest< Curve >::TearDownTestSuite ( )
inlinestatic

Definition at line 294 of file commitment_key.test.hpp.

◆ verify_batch_opening_claim()

template<typename Curve >
void bb::CommitmentTest< Curve >::verify_batch_opening_claim ( std::span< const OpeningClaim< Curve > >  multi_claims,
std::span< const Polynomial witnesses 
)
inline

Ensures that a 'BatchOpeningClaim' is correct by checking that.

  • all evaluations are correct by recomputing them from each witness polynomial.
  • commitments are correct by recomputing a commitment from each witness polynomial.
  • each 'queries' is a subset of 'all_queries' and 'all_queries' is the union of all 'queries'
  • each 'commitment' of each 'SubClaim' appears only once.

Definition at line 196 of file commitment_key.test.hpp.

◆ verify_batch_opening_pair()

template<typename Curve >
void bb::CommitmentTest< Curve >::verify_batch_opening_pair ( std::vector< ProverOpeningClaim< Curve > >  opening_claims)
inline

Ensures that a set of opening pairs is correct by checking that evaluations are correct by recomputing them from each witness polynomial.

Definition at line 211 of file commitment_key.test.hpp.

◆ verify_opening_claim()

template<typename Curve >
void bb::CommitmentTest< Curve >::verify_opening_claim ( const OpeningClaim< Curve > &  claim,
const Polynomial witness,
CommitmentKey< Curve ck = CommitmentKey<Curve>() 
)
inline

Definition at line 163 of file commitment_key.test.hpp.

◆ verify_opening_pair()

template<typename Curve >
void bb::CommitmentTest< Curve >::verify_opening_pair ( const OpeningPair< Curve > &  opening_pair,
const Polynomial witness 
)
inline

Definition at line 182 of file commitment_key.test.hpp.

◆ vk()

template<typename Curve >
VK & bb::CommitmentTest< Curve >::vk ( )
inline

Definition at line 139 of file commitment_key.test.hpp.

Member Data Documentation

◆ commitment_key

template<typename Curve >
CommitmentKey< Curve > bb::CommitmentTest< Curve >::commitment_key
static

Definition at line 296 of file commitment_key.test.hpp.

◆ engine

template<typename Curve >
numeric::RNG* bb::CommitmentTest< Curve >::engine

Definition at line 275 of file commitment_key.test.hpp.

◆ verification_key

template<typename Curve >
VerifierCommitmentKey< Curve > bb::CommitmentTest< Curve >::verification_key
static

Definition at line 297 of file commitment_key.test.hpp.


The documentation for this class was generated from the following file: