pub trait Hash: Send + Sync {
    fn name(&self) -> &'static str;
fn block_len(&self) -> usize;
fn hash_len(&self) -> usize;
fn reset(&mut self);
fn input(&mut self, data: &[u8]);
fn result(&mut self, out: &mut [u8]); fn hmac(&mut self, key: &[u8], data: &[u8], out: &mut [u8]) { ... }
fn hkdf(
        &mut self,
        chaining_key: &[u8],
        input_key_material: &[u8],
        outputs: usize,
        out1: &mut [u8],
        out2: &mut [u8],
        out3: &mut [u8]
    ) { ... } }
Expand description

Hashing operations

Required methods

The string that the Noise spec defines for the primitive

The block length for the primitive

The final hash digest length for the primitive

Reset the internal state

Provide input to the internal state

Get the resulting hash

Provided methods

Calculate HMAC, as specified in the Noise spec.

NOTE: This method clobbers the existing internal state

Derive keys as specified in the Noise spec.

NOTE: This method clobbers the existing internal state

Implementors