[][src]Struct bee_crypto::ternary::sponge::Kerl

pub struct Kerl { /* fields omitted */ }

State of the ternary cryptographic function Kerl.

Implementations

impl Kerl[src]

pub fn new() -> Self[src]

Creates a new Kerl.

Trait Implementations

impl Clone for Kerl[src]

impl Default for Kerl[src]

impl Sponge for Kerl[src]

type Error = Error

An error indicating that a failure has occured during a sponge operation.

fn reset(&mut self)[src]

Reset the internal state by overwriting it with zeros.

fn absorb(&mut self, input: &Trits) -> Result<(), Self::Error>[src]

Absorb input into the sponge by copying HASH_LENGTH chunks of it into its internal state and transforming the state before moving on to the next chunk.

If input is not a multiple of HASH_LENGTH with the last chunk having n < HASH_LENGTH trits, the last chunk will be copied to the first n slots of the internal state. The remaining data in the internal state is then just the result of the last transformation before the data was copied, and will be reused for the next transformation.

fn squeeze_into(&mut self, buf: &mut Trits<T1B1>) -> Result<(), Self::Error>[src]

Squeeze the sponge by copying the calculated hash into the provided buf. This will fill the buffer in chunks of HASH_LENGTH at a time.

If the last chunk is smaller than HASH_LENGTH, then only the fraction that fits is written into it.

Auto Trait Implementations

impl RefUnwindSafe for Kerl

impl Send for Kerl

impl Sync for Kerl

impl Unpin for Kerl

impl UnwindSafe for Kerl

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> Sponge for U where
    T: Sponge,
    U: DerefMut<Target = T>, 
[src]

type Error = <T as Sponge>::Error

An error indicating that a failure has occured during a sponge operation.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.