Skip to main content

expand

Function expand 

Source
pub fn expand<H: Hasher, const N: usize>(
    prk: &[u8],
    info: &[u8],
) -> Result<[u8; N], HkdfError>
Expand description

HKDF expand step: OKM = T(1) || T(2) || ..., where T(i) = HMAC-Hash(PRK, T(i-1) || info || i).

§Example

use crypto::hkdf;
use crypto::sha2::Sha256;

let prk = hkdf::extract::<Sha256>(Some(b"salt"), b"input key material");
let okm: [u8; 32] = hkdf::expand::<Sha256, 32>(&prk, b"context info").unwrap();

§Error

Returns an error if N > 255 * H::OUTPUT_SIZE or if prk.len() < H::OUTPUT_SIZE.