Crate ark_poly_commit[−][src]
Expand description
A crate for polynomial commitment schemes.
Re-exports
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 prime-order 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 n-variate multilinear polynomial into n quotient UV polynomial. This scheme is based on hardness of the discrete logarithm in prime-order 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 |
|