Crate ark_poly_commit[−][src]
Expand description
A crate for polynomial commitment schemes.
Reexports
pub use data_structures::*;  
pub use error::*;  
pub use marlin::marlin_pc;  
pub use marlin::marlin_pst13_pc; 
Modules
data_structures  Data structures used by a polynomial commitment scheme. 
error  Errors pertaining to query sets. 
ipa_pc  A polynomial commitment scheme based on the hardness of the discrete logarithm problem in primeorder groups. The construction is detailed in [BCMS20]. 
kzg10  The core [KZG10] construction. 
marlin  Univariate and multivariate polynomial commitment schemes which (optionally) enable hiding commitments by following the approach outlined in [CHMMVW20, “Marlin”]. 
multilinear_pc  A multilinear polynomial commitment scheme that converts nvariate multilinear polynomial into n quotient UV polynomial. This scheme is based on hardness of the discrete logarithm in primeorder groups. Construction is detailed in [XZZPD19]xzzpd19 and [[ZGKPP18]][zgkpp18] 
optional_rng  A random number generator that bypasses some limitations of the Rust borrow checker. 
sonic_pc  Polynomial commitment scheme based on the construction in [KZG10], modified to obtain batching and to enforce strict degree bounds by following the approach outlined in [MBKM19, “Sonic”] (more precisely, via the variant in [Gabizon19, “AuroraLight”] that avoids negative G1 powers). 
Traits
Polynomial  Describes the common interface for univariate and multivariate polynomials 
PolynomialCommitment  Describes the interface for a polynomial commitment scheme that allows
a sender to commit to multiple polynomials and later provide a succinct proof
of evaluation for the corresponding commitments at a query set 
UVPolynomial  Describes the interface for univariate polynomials 
Functions
evaluate_query_set  Evaluate the given polynomials at 
Type Definitions
Evaluations 

QuerySet 
