barretenberg
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
proof_system::honk::pcs::CommitmentKey< Curve > Class Template Reference

CommitmentKey object over a pairing group 𝔾₁. More...

#include <commitment_key.hpp>

Public Member Functions

 CommitmentKey (const size_t num_points, std::shared_ptr< barretenberg::srs::factories::CrsFactory< Curve > > crs_factory=barretenberg::srs::get_crs_factory())
 Construct a new Kate Commitment Key object from existing SRS.
 
 CommitmentKey (const size_t num_points, std::shared_ptr< barretenberg::srs::factories::ProverCrs< Curve > > prover_crs)
 
Commitment commit (std::span< const Fr > polynomial)
 Uses the ProverSRS to create a commitment to p(X)
 

Public Attributes

barretenberg::scalar_multiplication::pippenger_runtime_state< Curve > pippenger_runtime_state
 
std::shared_ptr< barretenberg::srs::factories::ProverCrs< Curve > > srs
 

Detailed Description

template<class Curve>
class proof_system::honk::pcs::CommitmentKey< Curve >

CommitmentKey object over a pairing group 𝔾₁.

Commitments are computed as C = [p(x)] = ∑ᵢ aᵢ⋅Gᵢ where Gᵢ is the i-th element of the SRS. For BN254, the SRS is given as a list of 𝔾₁ points { [xʲ]₁ }ⱼ where 'x' is unknown. For Grumpkin, they are random points. The SRS stored in the commitment key is after applying the pippenger_point_table thus being double the size of what is loaded from path.

Constructor & Destructor Documentation

◆ CommitmentKey()

template<class Curve >
proof_system::honk::pcs::CommitmentKey< Curve >::CommitmentKey ( const size_t  num_points,
std::shared_ptr< barretenberg::srs::factories::CrsFactory< Curve > >  crs_factory = barretenberg::srs::get_crs_factory() 
)
inline

Construct a new Kate Commitment Key object from existing SRS.

Parameters
n
path

Member Function Documentation

◆ commit()

template<class Curve >
Commitment proof_system::honk::pcs::CommitmentKey< Curve >::commit ( std::span< const Fr >  polynomial)
inline

Uses the ProverSRS to create a commitment to p(X)

Parameters
polynomiala univariate polynomial p(X) = ∑ᵢ aᵢ⋅Xⁱ
Returns
Commitment computed as C = [p(x)] = ∑ᵢ aᵢ⋅Gᵢ

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