Trait snarkvm_marlin::fiat_shamir::traits::FiatShamirRngVar [−][src]
pub trait FiatShamirRngVar<TargetField: PrimeField, BaseField: PrimeField, PFS: FiatShamirRng<TargetField, BaseField>>: Clone { fn new<CS: ConstraintSystem<BaseField>>(cs: CS) -> Self; fn constant<CS: ConstraintSystem<BaseField>>(cs: CS, pfs: &PFS) -> Self; fn absorb_nonnative_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[NonNativeFieldVar<TargetField, BaseField>],
ty: OptimizationType
) -> Result<(), SynthesisError>; fn absorb_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[FpGadget<BaseField>]
) -> Result<(), SynthesisError>; fn absorb_bytes<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[UInt8]
) -> Result<(), SynthesisError>; fn squeeze_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<FpGadget<BaseField>>, SynthesisError>; fn squeeze_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>; fn squeeze_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>; fn squeeze_128_bits_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>; fn squeeze_128_bits_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>; }
Expand description
Constraints for a RNG for use in a Fiat-Shamir transform.
Required methods
fn new<CS: ConstraintSystem<BaseField>>(cs: CS) -> Self
[src]
fn new<CS: ConstraintSystem<BaseField>>(cs: CS) -> Self
[src]Create a new RNG.
fn constant<CS: ConstraintSystem<BaseField>>(cs: CS, pfs: &PFS) -> Self
[src]
fn constant<CS: ConstraintSystem<BaseField>>(cs: CS, pfs: &PFS) -> Self
[src]Instantiate from a plaintext fs_rng.
fn absorb_nonnative_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[NonNativeFieldVar<TargetField, BaseField>],
ty: OptimizationType
) -> Result<(), SynthesisError>
[src]
fn absorb_nonnative_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[NonNativeFieldVar<TargetField, BaseField>],
ty: OptimizationType
) -> Result<(), SynthesisError>
[src]Take in field elements.
fn absorb_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[FpGadget<BaseField>]
) -> Result<(), SynthesisError>
[src]
fn absorb_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[FpGadget<BaseField>]
) -> Result<(), SynthesisError>
[src]Take in field elements.
fn absorb_bytes<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[UInt8]
) -> Result<(), SynthesisError>
[src]
fn absorb_bytes<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[UInt8]
) -> Result<(), SynthesisError>
[src]Take in bytes.
fn squeeze_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<FpGadget<BaseField>>, SynthesisError>
[src]
fn squeeze_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<FpGadget<BaseField>>, SynthesisError>
[src]Output field elements.
fn squeeze_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]
fn squeeze_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]Output field elements.
fn squeeze_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]
fn squeeze_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]Output field elements and the corresponding bits (this can reduce repeated computation).
fn squeeze_128_bits_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]
fn squeeze_128_bits_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]Output field elements with only 128 bits.
fn squeeze_128_bits_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]
fn squeeze_128_bits_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]Output field elements with only 128 bits, and the corresponding bits (this can reduce repeated computation).
Implementors
impl<TargetField: PrimeField, BaseField: PrimeField, PS: AlgebraicSponge<BaseField>, S: AlgebraicSpongeVar<BaseField, PS>> FiatShamirRngVar<TargetField, BaseField, FiatShamirAlgebraicSpongeRng<TargetField, BaseField, PS>> for FiatShamirAlgebraicSpongeRngVar<TargetField, BaseField, PS, S>
[src]
impl<TargetField: PrimeField, BaseField: PrimeField, PS: AlgebraicSponge<BaseField>, S: AlgebraicSpongeVar<BaseField, PS>> FiatShamirRngVar<TargetField, BaseField, FiatShamirAlgebraicSpongeRng<TargetField, BaseField, PS>> for FiatShamirAlgebraicSpongeRngVar<TargetField, BaseField, PS, S>
[src]fn constant<CS: ConstraintSystem<BaseField>>(
cs: CS,
pfs: &FiatShamirAlgebraicSpongeRng<TargetField, BaseField, PS>
) -> Self
[src]fn absorb_nonnative_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[NonNativeFieldVar<TargetField, BaseField>],
ty: OptimizationType
) -> Result<(), SynthesisError>
[src]fn absorb_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[FpGadget<BaseField>]
) -> Result<(), SynthesisError>
[src]fn absorb_bytes<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
elems: &[UInt8]
) -> Result<(), SynthesisError>
[src]fn squeeze_native_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<FpGadget<BaseField>>, SynthesisError>
[src]fn squeeze_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]fn squeeze_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]fn squeeze_128_bits_field_elements<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<Vec<NonNativeFieldVar<TargetField, BaseField>>, SynthesisError>
[src]fn squeeze_128_bits_field_elements_and_bits<CS: ConstraintSystem<BaseField>>(
&mut self,
cs: CS,
num: usize
) -> Result<(Vec<NonNativeFieldVar<TargetField, BaseField>>, Vec<Vec<Boolean>>), SynthesisError>
[src]