pub struct SonicKZG10<E: PairingEngine> { /* private fields */ }
Expand description

Polynomial commitment based on [KZG10], with degree enforcement and batching taken from [MBKM19, “Sonic”] (more precisely, their counterparts in [Gabizon19, “AuroraLight”] that avoid negative G1 powers). The (optional) hiding property of the commitment scheme follows the approach described in [CHMMVW20, “Marlin”].

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

An allocated version of PC::BatchLCProof.

An allocated version of PC::Commitment.

An allocated version of LabeledCommitment<PC::Commitment>.

An allocated version of PC::PreparedCommitment.

A prepared, allocated version of LabeledCommitment<PC::Commitment>.

An allocated version of PC::PreparedVerifierKey.

An allocated version of PC::Proof.

An allocated version of PC::VerifierKey.

Add to ConstraintSystem<ConstraintF> new constraints that conditionally check that proof is a valid evaluation proof at the points in query_set for the combinations linear_combinations. Read more

Create the labeled commitment gadget from the commitment gadget

Create the prepared labeled commitment gadget from the commitment gadget

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Outputs a commitment to polynomial.

Checks that values are the true evaluations at query_set of the polynomials committed in labeled_commitments.

On input a list of polynomials, linear combinations of those polynomials, and a query set, open_combination outputs a proof of evaluation of the combinations at the points in the query set.

Check combinations with individual challenges.

The evaluation proof for a query set.

The commitment to a polynomial.

The committer key for the scheme; used to commit to a polynomial and then open the commitment to produce an evaluation proof. Read more

The prepared commitment to a polynomial.

The prepared verifier key for the scheme; used to check an evaluation proof.

The evaluation proof for a single point.

The commitment randomness.

The universal parameters for the commitment scheme. These are “trimmed” down to Self::CommitterKey and Self::VerifierKey by Self::trim. Read more

The verifier key for the scheme; used to check an evaluation proof.

Constructs public parameters when given as input the maximum degree degree for the polynomial commitment scheme. Read more

Specializes the public parameters for polynomials up to the given supported_degree and for enforcing degree bounds in the range 1..=supported_degree. Read more

On input a list of labeled polynomials and a query point, open outputs a proof of evaluation of the polynomials at the query point. Read more

Verifies that values are the evaluations at point of the polynomials committed inside commitments. Read more

Checks that values are the true evaluations at query_set of the polynomials committed in labeled_commitments. Read more

On input a list of polynomials, linear combinations of those polynomials, and a query set, open_combination outputs a proof of evaluation of the combinations at the points in the query set. Read more

Outputs a commitments to polynomials. If polynomials[i].is_hiding(), then the i-th commitment is hiding up to polynomials.hiding_bound() queries. rng should not be None if polynomials[i].is_hiding() == true for any i. Read more

On input a list of labeled polynomials and a query set, open outputs a proof of evaluation of the polynomials at the points in the query set. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.