Trait snarkvm_marlin::fiat_shamir::traits::FiatShamirRng [−][src]
pub trait FiatShamirRng<TargetField: PrimeField, BaseField: PrimeField>: RngCore { fn new() -> 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<Vec<BaseField>, FiatShamirError>; fn squeeze_128_bits_nonnative_field_elements(
&mut self,
num: usize
) -> Result<Vec<TargetField>, FiatShamirError>; }
Expand description
Trait for a Fiat-Shamir RNG.
Required methods
fn absorb_nonnative_field_elements(
&mut self,
elements: &[TargetField],
ty: OptimizationType
)
[src]
fn absorb_nonnative_field_elements(
&mut self,
elements: &[TargetField],
ty: OptimizationType
)
[src]Takes in field elements.
fn absorb_native_field_elements<T: ToConstraintField<BaseField>>(
&mut self,
elements: &[T]
)
[src]
fn absorb_native_field_elements<T: ToConstraintField<BaseField>>(
&mut self,
elements: &[T]
)
[src]Takes in field elements.
fn absorb_bytes(&mut self, elements: &[u8])
[src]
fn absorb_bytes(&mut self, elements: &[u8])
[src]Takes in bytes.
fn squeeze_nonnative_field_elements(
&mut self,
num: usize,
ty: OptimizationType
) -> Result<Vec<TargetField>, FiatShamirError>
[src]
fn squeeze_nonnative_field_elements(
&mut self,
num: usize,
ty: OptimizationType
) -> Result<Vec<TargetField>, FiatShamirError>
[src]Takes out field elements.
fn squeeze_native_field_elements(
&mut self,
num: usize
) -> Result<Vec<BaseField>, FiatShamirError>
[src]
fn squeeze_native_field_elements(
&mut self,
num: usize
) -> Result<Vec<BaseField>, FiatShamirError>
[src]Takes in field elements.
fn squeeze_128_bits_nonnative_field_elements(
&mut self,
num: usize
) -> Result<Vec<TargetField>, FiatShamirError>
[src]
fn squeeze_128_bits_nonnative_field_elements(
&mut self,
num: usize
) -> Result<Vec<TargetField>, FiatShamirError>
[src]Takes out field elements of 128 bits.
Implementors
impl<TargetField: PrimeField, BaseField: PrimeField, D: Digest> FiatShamirRng<TargetField, BaseField> for FiatShamirChaChaRng<TargetField, BaseField, D>
[src]
impl<TargetField: PrimeField, BaseField: PrimeField, D: Digest> FiatShamirRng<TargetField, BaseField> for FiatShamirChaChaRng<TargetField, BaseField, D>
[src]fn squeeze_nonnative_field_elements(
&mut self,
num: usize,
_: OptimizationType
) -> Result<Vec<TargetField>, FiatShamirError>
[src]fn squeeze_native_field_elements(
&mut self,
num: usize
) -> Result<Vec<BaseField>, FiatShamirError>
[src]fn squeeze_128_bits_nonnative_field_elements(
&mut self,
num: usize
) -> Result<Vec<TargetField>, FiatShamirError>
[src]impl<TargetField: PrimeField, BaseField: PrimeField, S: AlgebraicSponge<BaseField>> FiatShamirRng<TargetField, BaseField> for FiatShamirAlgebraicSpongeRng<TargetField, BaseField, S>
[src]
impl<TargetField: PrimeField, BaseField: PrimeField, S: AlgebraicSponge<BaseField>> FiatShamirRng<TargetField, BaseField> for FiatShamirAlgebraicSpongeRng<TargetField, BaseField, S>
[src]fn squeeze_nonnative_field_elements(
&mut self,
num: usize,
_: OptimizationType
) -> Result<Vec<TargetField>, FiatShamirError>
[src]fn squeeze_native_field_elements(
&mut self,
num: usize
) -> Result<Vec<BaseField>, FiatShamirError>
[src]fn squeeze_128_bits_nonnative_field_elements(
&mut self,
num: usize
) -> Result<Vec<TargetField>, FiatShamirError>
[src]