pub struct VerifierKey<E: Pairing> { /* private fields */ }
Expand description
The verification key for the polynomial commitment scheme. It also implements verification functions for the evaluation proof.
Implementations§
Source§impl<E: Pairing> VerifierKey<E>
impl<E: Pairing> VerifierKey<E>
Sourcepub fn verify(
&self,
commitment: &Commitment<E>,
alpha: &E::ScalarField,
evaluation: &E::ScalarField,
proof: &EvaluationProof<E>,
) -> Result<(), VerificationError>
pub fn verify( &self, commitment: &Commitment<E>, alpha: &E::ScalarField, evaluation: &E::ScalarField, proof: &EvaluationProof<E>, ) -> Result<(), VerificationError>
The verification procedure for the EvaluationProof with a single polynomial evaluated at a single evaluation point.
The polynomial are evaluated at the point alpha
and is committed as commitment
.
The evaluation proof can be obtained either in a space-efficient or a time-efficient flavour.
Sourcepub fn verify_multi_points(
&self,
commitments: &[Commitment<E>],
eval_points: &[E::ScalarField],
evaluations: &[Vec<E::ScalarField>],
proof: &EvaluationProof<E>,
open_chal: &E::ScalarField,
) -> Result<(), VerificationError>
pub fn verify_multi_points( &self, commitments: &[Commitment<E>], eval_points: &[E::ScalarField], evaluations: &[Vec<E::ScalarField>], proof: &EvaluationProof<E>, open_chal: &E::ScalarField, ) -> Result<(), VerificationError>
The verification procedure for the EvaluationProof with a set of polynomials evaluated at a set of evaluation points.
All the polynomials are evaluated at the set of points eval_points
and are committed as commitments
.
evaluations
contains evaluations of each polynomial at each point in eval_points
.
evaluations
follows the same polynomial order as commitments
and the same evaluation point order as eval_points
.
The evaluation proof can be obtained either in a space-efficient or a time-efficient flavour.
open_chal
is a random challenge for batching evaluation proofs across different polynomials.
Trait Implementations§
Source§impl<E: Pairing> From<&CommitterKey<E>> for VerifierKey<E>
impl<E: Pairing> From<&CommitterKey<E>> for VerifierKey<E>
Source§fn from(ck: &CommitterKey<E>) -> VerifierKey<E>
fn from(ck: &CommitterKey<E>) -> VerifierKey<E>
Source§impl<E, SG> From<&CommitterKeyStream<E, SG>> for VerifierKey<E>
impl<E, SG> From<&CommitterKeyStream<E, SG>> for VerifierKey<E>
Source§fn from(ck: &CommitterKeyStream<E, SG>) -> Self
fn from(ck: &CommitterKeyStream<E, SG>) -> Self
impl<E: Eq + Pairing> Eq for VerifierKey<E>
impl<E: Pairing> StructuralPartialEq for VerifierKey<E>
Auto Trait Implementations§
impl<E> Freeze for VerifierKey<E>
impl<E> RefUnwindSafe for VerifierKey<E>
impl<E> Send for VerifierKey<E>
impl<E> Sync for VerifierKey<E>
impl<E> Unpin for VerifierKey<E>
impl<E> UnwindSafe for VerifierKey<E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more