Skip to main content

ExtendableOutputCore

Trait ExtendableOutputCore 

pub trait ExtendableOutputCore: UpdateCore + BufferKindUser
where Self::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <Self::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
{ type ReaderCore: XofReaderCore; // Required method fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<Self::BlockSize, Self::BufferKind>, ) -> Self::ReaderCore; }
Expand description

Core trait for hash functions with extendable (XOF) output size.

Required Associated Types§

type ReaderCore: XofReaderCore

XOF reader core state.

Required Methods§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<Self::BlockSize, Self::BufferKind>, ) -> Self::ReaderCore

Retrieve XOF reader using remaining data stored in the block buffer and leave hasher in a dirty state.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl ExtendableOutputCore for CShake128Core

§

type ReaderCore = CShake128ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<CShake128Core as BlockSizeUser>::BlockSize, <CShake128Core as BufferKindUser>::BufferKind>, ) -> <CShake128Core as ExtendableOutputCore>::ReaderCore

§

impl ExtendableOutputCore for CShake256Core

§

type ReaderCore = CShake256ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<CShake256Core as BlockSizeUser>::BlockSize, <CShake256Core as BufferKindUser>::BufferKind>, ) -> <CShake256Core as ExtendableOutputCore>::ReaderCore

§

impl ExtendableOutputCore for Shake128Core

§

type ReaderCore = Shake128ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<Shake128Core as BlockSizeUser>::BlockSize, <Shake128Core as BufferKindUser>::BufferKind>, ) -> <Shake128Core as ExtendableOutputCore>::ReaderCore

§

impl ExtendableOutputCore for Shake256Core

§

type ReaderCore = Shake256ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<Shake256Core as BlockSizeUser>::BlockSize, <Shake256Core as BufferKindUser>::BufferKind>, ) -> <Shake256Core as ExtendableOutputCore>::ReaderCore

§

impl ExtendableOutputCore for TurboShake128Core

§

type ReaderCore = TurboShake128ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<TurboShake128Core as BlockSizeUser>::BlockSize, <TurboShake128Core as BufferKindUser>::BufferKind>, ) -> <TurboShake128Core as ExtendableOutputCore>::ReaderCore

§

impl ExtendableOutputCore for TurboShake256Core

§

type ReaderCore = TurboShake256ReaderCore

§

fn finalize_xof_core( &mut self, buffer: &mut BlockBuffer<<TurboShake256Core as BlockSizeUser>::BlockSize, <TurboShake256Core as BufferKindUser>::BufferKind>, ) -> <TurboShake256Core as ExtendableOutputCore>::ReaderCore

Implementors§