use alloc::vec::Vec; use mls_rs_crypto_traits::KdfType; use crate::kem_combiner::ghp::Prg; #[derive(Clone)] pub struct MlsKdfPrg { pub mls_kdf: KDF, } impl MlsKdfPrg { pub fn new(mls_kdf: KDF) -> Self { Self { mls_kdf } } } impl Prg for MlsKdfPrg { type Error = ::Error; fn eval(&self, key: &[u8], out_len: usize) -> Result, Self::Error> { self.mls_kdf.expand(key, &[], out_len) } }