pub trait FiatShamirRng<TargetField: PrimeField, BaseField: PrimeField>: Clone + Debug + RngCore {
    type Parameters;
    fn sample_params() -> Self::Parameters;
fn new() -> Self;
fn with_parameters(params: &Self::Parameters) -> Self;
fn absorb_nonnative_field_elements(
        &mut self,
        elements: &[TargetField],
        ty: OptimizationType
    );
fn absorb_native_field_elements<T: ToConstraintField<BaseField>>(
        &mut self,
        elements: &[T]
    );
fn absorb_bytes(&mut self, elements: &[u8]);
fn squeeze_nonnative_field_elements(
        &mut self,
        num: usize,
        ty: OptimizationType
    ) -> Result<Vec<TargetField>, FiatShamirError>;
fn squeeze_native_field_elements(
        &mut self,
        num: usize
    ) -> Result<SmallVec<[BaseField; 10]>, FiatShamirError>;
fn squeeze_128_bits_nonnative_field_elements(
        &mut self,
        num: usize
    ) -> Result<Vec<TargetField>, FiatShamirError>; }
Expand description

Trait for a Fiat-Shamir RNG.

Associated Types

Required methods

Samples parameters.

Initializes an RNG.

Initializes an RNG with the provided parameters.

Takes in field elements.

Takes in field elements.

Takes in bytes.

Takes out field elements.

Takes in field elements.

Takes out field elements of 128 bits.

Implementors