pub struct Shake256 { /* private fields */ }Expand description
SHAKE256 (FIPS 202, extendable output).
Trait Implementations§
Source§impl AlgorithmName for Shake256
impl AlgorithmName for Shake256
Source§impl AssociatedOid for Shake256
Available on crate feature oid only.
impl AssociatedOid for Shake256
Available on crate feature
oid only.Source§const OID: ObjectIdentifier
const OID: ObjectIdentifier
The OID associated with this type.
Source§impl BlockSizeUser for Shake256
impl BlockSizeUser for Shake256
Source§impl CollisionResistance for Shake256
impl CollisionResistance for Shake256
Source§impl CoreProxy for Shake256
impl CoreProxy for Shake256
Source§type Core = SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#83}::Core::{constant#0}>
type Core = SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#83}::Core::{constant#0}>
Core block-level type.
Source§fn compose(
core: <Shake256 as CoreProxy>::Core,
buffer: BlockBuffer<<<Shake256 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake256 as CoreProxy>::Core as BufferKindUser>::BufferKind>,
) -> Shake256
fn compose( core: <Shake256 as CoreProxy>::Core, buffer: BlockBuffer<<<Shake256 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake256 as CoreProxy>::Core as BufferKindUser>::BufferKind>, ) -> Shake256
Create
Self from core and buffer.Source§fn decompose(
self,
) -> (<Shake256 as CoreProxy>::Core, BlockBuffer<<<Shake256 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake256 as CoreProxy>::Core as BufferKindUser>::BufferKind>)
fn decompose( self, ) -> (<Shake256 as CoreProxy>::Core, BlockBuffer<<<Shake256 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake256 as CoreProxy>::Core as BufferKindUser>::BufferKind>)
Decompose
self into core and buffer.Source§impl ExtendableOutput for Shake256
impl ExtendableOutput for Shake256
Source§type Reader = Shake256Reader
type Reader = Shake256Reader
Reader
Source§fn finalize_xof(self) -> <Shake256 as ExtendableOutput>::Reader
fn finalize_xof(self) -> <Shake256 as ExtendableOutput>::Reader
Retrieve XOF reader and consume hasher instance.
Source§fn finalize_xof_into(self, out: &mut [u8])
fn finalize_xof_into(self, out: &mut [u8])
Finalize XOF and write result into
out.Source§impl ExtendableOutputReset for Shake256
impl ExtendableOutputReset for Shake256
Source§fn finalize_xof_reset(&mut self) -> <Shake256 as ExtendableOutput>::Reader
fn finalize_xof_reset(&mut self) -> <Shake256 as ExtendableOutput>::Reader
Retrieve XOF reader and reset hasher instance state.
Source§fn finalize_xof_reset_into(&mut self, out: &mut [u8])
fn finalize_xof_reset_into(&mut self, out: &mut [u8])
Finalize XOF, write result into
out, and reset the hasher state.impl HashMarker for Shake256
Source§impl SerializableState for Shake256
impl SerializableState for Shake256
Source§type SerializedStateSize = <<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#0}> as SerializableState>::SerializedStateSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#1}> as BlockSizeUser>::BlockSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#2}> as BufferKindUser>::BufferKind as Sealed>::Overhead>>::Output>>::Output
type SerializedStateSize = <<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#0}> as SerializableState>::SerializedStateSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#1}> as BlockSizeUser>::BlockSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#86}::SerializedStateSize::{constant#2}> as BufferKindUser>::BufferKind as Sealed>::Overhead>>::Output>>::Output
Size of serialized internal state.
Source§fn serialize(
&self,
) -> Array<u8, <Shake256 as SerializableState>::SerializedStateSize>
fn serialize( &self, ) -> Array<u8, <Shake256 as SerializableState>::SerializedStateSize>
Serialize and return internal state.
Source§fn deserialize(
serialized_state: &Array<u8, <Shake256 as SerializableState>::SerializedStateSize>,
) -> Result<Shake256, DeserializeStateError>
fn deserialize( serialized_state: &Array<u8, <Shake256 as SerializableState>::SerializedStateSize>, ) -> Result<Shake256, DeserializeStateError>
Create an object from serialized internal state. Read more
Auto Trait Implementations§
impl Freeze for Shake256
impl RefUnwindSafe for Shake256
impl Send for Shake256
impl Sync for Shake256
impl Unpin for Shake256
impl UnsafeUnpin for Shake256
impl UnwindSafe for Shake256
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DynAssociatedOid for Twhere
T: AssociatedOid,
impl<T> DynAssociatedOid for Twhere
T: AssociatedOid,
Source§fn oid(&self) -> ObjectIdentifier
fn oid(&self) -> ObjectIdentifier
Get the OID associated with this value.
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> SmallBlockSizeUser for T
impl<T> SmallBlockSizeUser for T
Source§type _BlockSize = <T as BlockSizeUser>::BlockSize
type _BlockSize = <T as BlockSizeUser>::BlockSize
Helper associated type equal to
<Self as BlockSizeUser>::BlockSize.