Skip to main content

CShake256

Struct CShake256 

Source
pub struct CShake256 { /* private fields */ }
Expand description

cSHAKE256 hasher.

Implementations§

Source§

impl CShake256

Source

pub fn new_with_function_name( function_name: &[u8], customization: &[u8], ) -> Self

Creates a new cSHAKE instance with the given function name and customization.

Note that the function name is intended for use by NIST and should only be set to values defined by NIST. You probably don’t need to use this function.

Trait Implementations§

Source§

impl AlgorithmName for CShake256

Source§

fn write_alg_name(f: &mut Formatter<'_>) -> Result<(), Error>

Write algorithm name into f. Read more
Source§

impl BlockSizeUser for CShake256

Source§

type BlockSize = <CShake256Core as BlockSizeUser>::BlockSize

Size of the block in bytes.
Source§

fn block_size() -> usize

Return block size in bytes.
Source§

impl Clone for CShake256

Source§

fn clone(&self) -> Self

Returns a duplicate 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 CollisionResistance for CShake256

Source§

type CollisionResistance = UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>

Collision resistance in bytes. Read more
Source§

impl CoreProxy for CShake256

Source§

type Core = CShake256Core

Core block-level type.
Source§

fn compose(core: Self::Core, buffer: Buffer<Self::Core>) -> Self

Create Self from core and buffer.
Source§

fn decompose(self) -> (Self::Core, Buffer<Self::Core>)

Decompose self into core and buffer.
Source§

impl CustomizedInit for CShake256

Source§

fn new_customized(customization: &[u8]) -> Self

Create new hasher instance with the given customization string.
Source§

impl Debug for CShake256

Source§

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

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

impl Default for CShake256

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl ExtendableOutput for CShake256

Source§

type Reader = CShake256Reader

Reader
Source§

fn finalize_xof(self) -> Self::Reader

Retrieve XOF reader and consume hasher instance.
Source§

fn finalize_xof_into(self, out: &mut [u8])

Finalize XOF and write result into out.
Source§

fn digest_xof(input: impl AsRef<[u8]>, output: &mut [u8])
where Self: Default,

Compute hash of data and write it into output.
Source§

fn finalize_boxed(self, output_size: usize) -> Box<[u8]>

Retrieve result into a boxed slice of the specified size and consume the hasher. Read more
Source§

impl ExtendableOutputReset for CShake256

Source§

fn finalize_xof_reset(&mut self) -> Self::Reader

Retrieve XOF reader and reset hasher instance state.
Source§

fn finalize_xof_reset_into(&mut self, out: &mut [u8])

Finalize XOF, write result into out, and reset the hasher state.
Source§

fn finalize_boxed_reset(&mut self, output_size: usize) -> Box<[u8]>

Retrieve result into a boxed slice of the specified size and reset the hasher state. Read more
Source§

impl Reset for CShake256

Source§

fn reset(&mut self)

Reset state to its initial value.
Source§

impl Update for CShake256

Source§

fn update(&mut self, data: &[u8])

Update state using the provided data.
Source§

fn chain(self, data: impl AsRef<[u8]>) -> Self
where Self: Sized,

Digest input data in a chained manner.
Source§

impl HashMarker for CShake256

Auto Trait Implementations§

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

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SmallBlockSizeUser for T

Source§

type _BlockSize = <T as BlockSizeUser>::BlockSize

Helper associated type equal to <Self as BlockSizeUser>::BlockSize.
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.