pub struct RescueSponge<F: RescueParameter, const RATE: usize> { /* private fields */ }
Expand description
A rescue hash function consists of a permutation function and an internal state.
Trait Implementations§
Source§impl<F: Clone + RescueParameter, const RATE: usize> Clone for RescueSponge<F, RATE>
impl<F: Clone + RescueParameter, const RATE: usize> Clone for RescueSponge<F, RATE>
Source§fn clone(&self) -> RescueSponge<F, RATE>
fn clone(&self) -> RescueSponge<F, RATE>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<T: RescueParameter + PrimeField, const RATE: usize> CryptographicSponge for RescueSponge<T, RATE>
impl<T: RescueParameter + PrimeField, const RATE: usize> CryptographicSponge for RescueSponge<T, RATE>
Source§type Config = Permutation<T>
type Config = Permutation<T>
Config used by the sponge.
Source§fn absorb(&mut self, input: &impl Absorb)
fn absorb(&mut self, input: &impl Absorb)
Absorb an input into the sponge.
This function will absorb the entire input, in chunks of RATE
,
even if the input length is not a multiple of RATE
.
Source§fn squeeze_bytes(&mut self, _num_bytes: usize) -> Vec<u8>
fn squeeze_bytes(&mut self, _num_bytes: usize) -> Vec<u8>
WARNING! This trait method is unimplemented and should not be used.
Only use the CryptographicSponge
for squeezing native field elements.
Source§fn squeeze_bits(&mut self, _num_bits: usize) -> Vec<bool>
fn squeeze_bits(&mut self, _num_bits: usize) -> Vec<bool>
WARNING! This trait method is unimplemented and should not be used.
Only use the CryptographicSponge
for squeezing native field elements.
Source§fn squeeze_field_elements_with_sizes<F: PrimeField>(
&mut self,
_sizes: &[FieldElementSize],
) -> Vec<F>
fn squeeze_field_elements_with_sizes<F: PrimeField>( &mut self, _sizes: &[FieldElementSize], ) -> Vec<F>
WARNING! This trait method is unimplemented and should not be used.
Use squeeze_native_field_elements
instead.
Source§fn squeeze_field_elements<F: PrimeField>(
&mut self,
_num_elements: usize,
) -> Vec<F>
fn squeeze_field_elements<F: PrimeField>( &mut self, _num_elements: usize, ) -> Vec<F>
WARNING! This trait method is unimplemented and should not be used.
Use squeeze_native_field_elements
instead.
Source§impl<F: Debug + RescueParameter, const RATE: usize> Debug for RescueSponge<F, RATE>
impl<F: Debug + RescueParameter, const RATE: usize> Debug for RescueSponge<F, RATE>
Source§impl<F: Default + RescueParameter, const RATE: usize> Default for RescueSponge<F, RATE>
impl<F: Default + RescueParameter, const RATE: usize> Default for RescueSponge<F, RATE>
Source§fn default() -> RescueSponge<F, RATE>
fn default() -> RescueSponge<F, RATE>
Source§impl<T: RescueParameter, const RATE: usize> FieldBasedCryptographicSponge<T> for RescueSponge<T, RATE>
impl<T: RescueParameter, const RATE: usize> FieldBasedCryptographicSponge<T> for RescueSponge<T, RATE>
The interface for field-based cryptographic sponge.
T
is the native field used by the cryptographic sponge implementation.
Source§fn squeeze_native_field_elements(&mut self, num_elements: usize) -> Vec<T>
fn squeeze_native_field_elements(&mut self, num_elements: usize) -> Vec<T>
Squeeze num_elements
field elements from the sponge.
Source§fn squeeze_native_field_elements_with_sizes(
&mut self,
_sizes: &[FieldElementSize],
) -> Vec<T>
fn squeeze_native_field_elements_with_sizes( &mut self, _sizes: &[FieldElementSize], ) -> Vec<T>
WARNING! This trait method is unimplemented and should not be used.
Use squeeze_native_field_elements
instead.
Source§impl<F: RescueParameter, const RATE: usize> SpongeExt for RescueSponge<F, RATE>
impl<F: RescueParameter, const RATE: usize> SpongeExt for RescueSponge<F, RATE>
Source§type State = RescueVector<F>
type State = RescueVector<F>
Source§fn from_state(state: Self::State, permutation: &Self::Config) -> Self
fn from_state(state: Self::State, permutation: &Self::Config) -> Self
state
.Source§fn into_state(self) -> Self::State
fn into_state(self) -> Self::State
self
and returns the state.Auto Trait Implementations§
impl<F, const RATE: usize> Freeze for RescueSponge<F, RATE>where
F: Freeze,
impl<F, const RATE: usize> RefUnwindSafe for RescueSponge<F, RATE>where
F: RefUnwindSafe,
impl<F, const RATE: usize> Send for RescueSponge<F, RATE>
impl<F, const RATE: usize> Sync for RescueSponge<F, RATE>
impl<F, const RATE: usize> Unpin for RescueSponge<F, RATE>where
F: Unpin,
impl<F, const RATE: usize> UnwindSafe for RescueSponge<F, RATE>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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