jf_pcs::prelude

Struct MultilinearUniversalParams

Source
pub struct MultilinearUniversalParams<E: Pairing> {
    pub prover_param: MultilinearProverParam<E>,
    pub h_mask: Vec<E::G2Affine>,
}
Expand description

Universal Parameter

Fields§

§prover_param: MultilinearProverParam<E>

prover parameters

§h_mask: Vec<E::G2Affine>

h^randomness: h^t1, h^t2, …, h^{t_nv}

Trait Implementations§

Source§

impl<E: Pairing> CanonicalDeserialize for MultilinearUniversalParams<E>

Source§

fn deserialize_with_mode<R: Read>( reader: R, compress: Compress, validate: Validate, ) -> Result<Self, SerializationError>

The general deserialize method that takes in customization flags.
§

fn deserialize_compressed<R>(reader: R) -> Result<Self, SerializationError>
where R: Read,

§

fn deserialize_compressed_unchecked<R>( reader: R, ) -> Result<Self, SerializationError>
where R: Read,

§

fn deserialize_uncompressed<R>(reader: R) -> Result<Self, SerializationError>
where R: Read,

§

fn deserialize_uncompressed_unchecked<R>( reader: R, ) -> Result<Self, SerializationError>
where R: Read,

Source§

impl<E: Pairing> CanonicalSerialize for MultilinearUniversalParams<E>

Source§

fn serialize_with_mode<W: Write>( &self, writer: W, compress: Compress, ) -> Result<(), SerializationError>

The general serialize method that takes in customization flags.
Source§

fn serialized_size(&self, compress: Compress) -> usize

§

fn serialize_compressed<W>(&self, writer: W) -> Result<(), SerializationError>
where W: Write,

§

fn compressed_size(&self) -> usize

§

fn serialize_uncompressed<W>(&self, writer: W) -> Result<(), SerializationError>
where W: Write,

§

fn uncompressed_size(&self) -> usize

Source§

impl<E: Clone + Pairing> Clone for MultilinearUniversalParams<E>
where E::G2Affine: Clone,

Source§

fn clone(&self) -> MultilinearUniversalParams<E>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<E: Debug + Pairing> Debug for MultilinearUniversalParams<E>
where E::G2Affine: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Pairing> StructuredReferenceString for MultilinearUniversalParams<E>

Source§

fn extract_prover_param(&self, supported_num_vars: usize) -> Self::ProverParam

Extract the prover parameters from the public parameters.

Source§

fn extract_verifier_param( &self, supported_num_vars: usize, ) -> Self::VerifierParam

Extract the verifier parameters from the public parameters.

Source§

fn trim( &self, supported_num_vars: usize, ) -> Result<(Self::ProverParam, Self::VerifierParam), PCSError>

Trim the universal parameters to specialize the public parameters for multilinear polynomials to the given supported_num_vars, and returns committer key and verifier key. supported_num_vars should be in range 1..=params.num_vars

Source§

fn trim_with_verifier_degree( &self, prover_supported_num_vars: usize, _verifier_supported_num_vars: usize, ) -> Result<(Self::ProverParam, Self::VerifierParam), PCSError>

Naive implementation

Source§

type ProverParam = MultilinearProverParam<E>

Prover parameters
Source§

type VerifierParam = MultilinearVerifierParam<E>

Verifier parameters
Source§

fn load_srs_from_file( _supported_degree: usize, _file: Option<&str>, ) -> Result<Self, PCSError>

Load public parameter in production environment. These parameters are loaded from files with serialized pp bytes, and the actual setup is usually carried out via MPC and should be implemented else where. We only load them into memory here. Read more
Source§

impl<E: Pairing> Valid for MultilinearUniversalParams<E>

Source§

fn check(&self) -> Result<(), SerializationError>

Source§

fn batch_check<'a>( batch: impl Iterator<Item = &'a Self> + Send, ) -> Result<(), SerializationError>
where Self: 'a,

Auto Trait Implementations§

§

impl<E> Freeze for MultilinearUniversalParams<E>
where <E as Pairing>::G1Affine: Freeze, <E as Pairing>::G2Affine: Freeze,

§

impl<E> RefUnwindSafe for MultilinearUniversalParams<E>
where <E as Pairing>::G1Affine: RefUnwindSafe, <E as Pairing>::G2Affine: RefUnwindSafe,

§

impl<E> Send for MultilinearUniversalParams<E>

§

impl<E> Sync for MultilinearUniversalParams<E>

§

impl<E> Unpin for MultilinearUniversalParams<E>
where <E as Pairing>::G1Affine: Unpin, <E as Pairing>::G2Affine: Unpin,

§

impl<E> UnwindSafe for MultilinearUniversalParams<E>
where <E as Pairing>::G1Affine: UnwindSafe, <E as Pairing>::G2Affine: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CanonicalSerializeHashExt for T
where T: CanonicalSerialize,

§

fn hash<H>(&self) -> GenericArray<u8, <H as OutputSizeUser>::OutputSize>
where H: Digest,

§

fn hash_uncompressed<H>( &self, ) -> GenericArray<u8, <H as OutputSizeUser>::OutputSize>
where H: Digest,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V