Struct ark_poly_commit::marlin::marlin_pc::VerifierKey [−][src]
pub struct VerifierKey<E: PairingEngine> { pub vk: VerifierKey<E>, pub degree_bounds_and_shift_powers: Option<Vec<(usize, E::G1Affine)>>, pub max_degree: usize, pub supported_degree: usize, }
Expand description
VerifierKey
is used to check evaluation proofs for a given commitment.
Fields
vk: VerifierKey<E>
The verification key for the underlying KZG10 scheme.
degree_bounds_and_shift_powers: Option<Vec<(usize, E::G1Affine)>>
Information required to enforce degree bounds. Each pair
is of the form (degree_bound, shifting_advice)
.
The vector is sorted in ascending order of degree_bound
.
This is None
if self
does not support enforcing any degree bounds.
max_degree: usize
The maximum degree supported by the UniversalParams
self
was derived
from.
supported_degree: usize
The maximum degree supported by the trimmed parameters that self
is
a part of.
Implementations
Find the appropriate shift for the degree bound.
Trait Implementations
Reads Self
from reader
.
Reads Self
from reader
without compression.
Reads self
from reader
without compression, and without performing
validity checks. Should be used only when the input is trusted. Read more
Serializes self
into writer
.
It is left up to a particular type for how it strikes the
serialization efficiency vs compression tradeoff.
For standard types (e.g. bool
, lengths, etc.) typically an uncompressed
form is used, whereas for algebraic types compressed forms are used. Read more
Serializes self
into writer
without compression.
Serializes self
into writer
without compression, and without
performing validity checks. Should be used only when there is no
danger of adversarial manipulation of the output. Read more
prepare PreparedVerifierKey
from VerifierKey
Outputs the maximum degree supported by the universal parameters
Self
was derived from. Read more
Outputs the maximum degree supported by the verifier key.
impl<E: PairingEngine> ToConstraintField<<<E as PairingEngine>::Fq as Field>::BasePrimeField> for VerifierKey<E> where
E::G1Affine: ToConstraintField<<E::Fq as Field>::BasePrimeField>,
E::G2Affine: ToConstraintField<<E::Fq as Field>::BasePrimeField>,
[src]
impl<E: PairingEngine> ToConstraintField<<<E as PairingEngine>::Fq as Field>::BasePrimeField> for VerifierKey<E> where
E::G1Affine: ToConstraintField<<E::Fq as Field>::BasePrimeField>,
E::G2Affine: ToConstraintField<<E::Fq as Field>::BasePrimeField>,
[src]Auto Trait Implementations
impl<E> RefUnwindSafe for VerifierKey<E> where
<E as PairingEngine>::G1Affine: RefUnwindSafe,
<E as PairingEngine>::G2Affine: RefUnwindSafe,
<E as PairingEngine>::G2Prepared: RefUnwindSafe,
impl<E> Send for VerifierKey<E>
impl<E> Sync for VerifierKey<E>
impl<E> Unpin for VerifierKey<E> where
<E as PairingEngine>::G1Affine: Unpin,
<E as PairingEngine>::G2Affine: Unpin,
<E as PairingEngine>::G2Prepared: Unpin,
impl<E> UnwindSafe for VerifierKey<E> where
<E as PairingEngine>::G1Affine: UnwindSafe,
<E as PairingEngine>::G2Affine: UnwindSafe,
<E as PairingEngine>::G2Prepared: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
fn hash_uncompressed<H>(&self) -> GenericArray<u8, <H as Digest>::OutputSize> where
H: Digest,
[src]type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V