pub struct Shake128 { /* private fields */ }Expand description
SHAKE128 (FIPS 202, extendable output).
Trait Implementations§
Source§impl AlgorithmName for Shake128
impl AlgorithmName for Shake128
Source§impl AssociatedOid for Shake128
Available on crate feature oid only.
impl AssociatedOid for Shake128
Available on crate feature
oid only.Source§const OID: ObjectIdentifier
const OID: ObjectIdentifier
The OID associated with this type.
Source§impl BlockSizeUser for Shake128
impl BlockSizeUser for Shake128
Source§impl CollisionResistance for Shake128
impl CollisionResistance for Shake128
Source§impl CoreProxy for Shake128
impl CoreProxy for Shake128
Source§type Core = SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#66}::Core::{constant#0}>
type Core = SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#66}::Core::{constant#0}>
Core block-level type.
Source§fn compose(
core: <Shake128 as CoreProxy>::Core,
buffer: BlockBuffer<<<Shake128 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake128 as CoreProxy>::Core as BufferKindUser>::BufferKind>,
) -> Shake128
fn compose( core: <Shake128 as CoreProxy>::Core, buffer: BlockBuffer<<<Shake128 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake128 as CoreProxy>::Core as BufferKindUser>::BufferKind>, ) -> Shake128
Create
Self from core and buffer.Source§fn decompose(
self,
) -> (<Shake128 as CoreProxy>::Core, BlockBuffer<<<Shake128 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake128 as CoreProxy>::Core as BufferKindUser>::BufferKind>)
fn decompose( self, ) -> (<Shake128 as CoreProxy>::Core, BlockBuffer<<<Shake128 as CoreProxy>::Core as BlockSizeUser>::BlockSize, <<Shake128 as CoreProxy>::Core as BufferKindUser>::BufferKind>)
Decompose
self into core and buffer.Source§impl ExtendableOutput for Shake128
impl ExtendableOutput for Shake128
Source§type Reader = Shake128Reader
type Reader = Shake128Reader
Reader
Source§fn finalize_xof(self) -> <Shake128 as ExtendableOutput>::Reader
fn finalize_xof(self) -> <Shake128 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 Shake128
impl ExtendableOutputReset for Shake128
Source§fn finalize_xof_reset(&mut self) -> <Shake128 as ExtendableOutput>::Reader
fn finalize_xof_reset(&mut self) -> <Shake128 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 Shake128
Source§impl SerializableState for Shake128
impl SerializableState for Shake128
Source§type SerializedStateSize = <<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::SerializedStateSize::{constant#0}> as SerializableState>::SerializedStateSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::SerializedStateSize::{constant#1}> as BlockSizeUser>::BlockSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::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>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::SerializedStateSize::{constant#0}> as SerializableState>::SerializedStateSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::SerializedStateSize::{constant#1}> as BlockSizeUser>::BlockSize as Add<<<SpongeHasherCore<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B0>, B0>, B0>, UTerm, lib_q_sha3::::{impl#69}::SerializedStateSize::{constant#2}> as BufferKindUser>::BufferKind as Sealed>::Overhead>>::Output>>::Output
Size of serialized internal state.
Source§fn serialize(
&self,
) -> Array<u8, <Shake128 as SerializableState>::SerializedStateSize>
fn serialize( &self, ) -> Array<u8, <Shake128 as SerializableState>::SerializedStateSize>
Serialize and return internal state.
Source§fn deserialize(
serialized_state: &Array<u8, <Shake128 as SerializableState>::SerializedStateSize>,
) -> Result<Shake128, DeserializeStateError>
fn deserialize( serialized_state: &Array<u8, <Shake128 as SerializableState>::SerializedStateSize>, ) -> Result<Shake128, DeserializeStateError>
Create an object from serialized internal state. Read more
Auto Trait Implementations§
impl Freeze for Shake128
impl RefUnwindSafe for Shake128
impl Send for Shake128
impl Sync for Shake128
impl Unpin for Shake128
impl UnsafeUnpin for Shake128
impl UnwindSafe for Shake128
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.