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", so this trait is not object safe.

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§