barretenberg
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
proof_system::honk::pcs Namespace Reference

Provides interfaces for different 'CommitmentKey' classes. More...

Namespaces

namespace  gemini
 Protocol for opening several multi-linear polynomials at the same point.
 
namespace  ipa
 IPA (inner-product argument) commitment scheme class. Conforms to the specification https://hackmd.io/q-A8y6aITWyWJrvsGGMWNA?view.
 
namespace  shplonk
 Reduces multiple claims about commitments, each opened at a single point into a single claim for a single polynomial opened at a single point.
 

Classes

class  CommitmentKey
 CommitmentKey object over a pairing group 𝔾₁. More...
 
class  CommitmentTest
 
class  OpeningClaim
 Unverified claim (C,r,v) for some witness polynomial p(X) such that. More...
 
class  OpeningPair
 Opening pair (r,v) for some witness polynomial p(X) such that p(r) = v. More...
 
class  ProverOpeningClaim
 Polynomial p and an opening pair (r,v) such that p(r) = v. More...
 
class  VerifierCommitmentKey
 
class  VerifierCommitmentKey< curve::BN254 >
 Specialization for bn254. More...
 
class  VerifierCommitmentKey< curve::Grumpkin >
 Specialization for Grumpkin. More...
 

Typedefs

using CommitmentSchemeParams = ::testing::Types< curve::BN254 >
 
using IpaCommitmentSchemeParams = ::testing::Types< curve::Grumpkin >
 

Functions

template<class CK >
std::shared_ptr< CK > CreateCommitmentKey ()
 
template<>
std::shared_ptr< CommitmentKey< curve::BN254 > > CreateCommitmentKey< CommitmentKey< curve::BN254 > > ()
 
template<>
std::shared_ptr< CommitmentKey< curve::Grumpkin > > CreateCommitmentKey< CommitmentKey< curve::Grumpkin > > ()
 
template<class VK >
std::shared_ptr< VK > CreateVerifierCommitmentKey ()
 
template<>
std::shared_ptr< VerifierCommitmentKey< curve::BN254 > > CreateVerifierCommitmentKey< VerifierCommitmentKey< curve::BN254 > > ()
 
template<>
std::shared_ptr< VerifierCommitmentKey< curve::Grumpkin > > CreateVerifierCommitmentKey< VerifierCommitmentKey< curve::Grumpkin > > ()
 

Detailed Description

Provides interfaces for different 'CommitmentKey' classes.

Provides interfaces for different PCS 'VerificationKey' classes.

TODO(#218)(Mara): This class should handle any modification to the SRS (e.g compute pippenger point table) to simplify the codebase.