pub trait KdfType: Send + Sync {
    type Error: IntoAnyError + Send + Sync;

    // Required methods
    fn kdf_id(&self) -> u16;
    fn expand(
        &self,
        prk: &[u8],
        info: &[u8],
        len: usize
    ) -> Result<Vec<u8>, Self::Error>;
    fn extract(&self, salt: &[u8], ikm: &[u8]) -> Result<Vec<u8>, Self::Error>;
    fn extract_size(&self) -> usize;
}
Expand description

A trait that provides the required KDF functions

Required Associated Types§

Required Methods§

source

fn kdf_id(&self) -> u16

KDF Id, as specified in RFC 9180, Section 5.1 and Table 3.

source

fn expand( &self, prk: &[u8], info: &[u8], len: usize ) -> Result<Vec<u8>, Self::Error>

source

fn extract(&self, salt: &[u8], ikm: &[u8]) -> Result<Vec<u8>, Self::Error>

source

fn extract_size(&self) -> usize

Implementors§