mod aead;
mod key_derivation;
use crate::{CipherSuite, error::SframeError};
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct Aead {
cipher_suite: CipherSuite,
}
impl TryFrom<CipherSuite> for Aead {
type Error = SframeError;
fn try_from(cipher_suite: CipherSuite) -> Result<Self, Self::Error> {
match cipher_suite {
CipherSuite::AesGcm128Sha256 | CipherSuite::AesGcm256Sha512 => {
Ok(Self { cipher_suite })
}
#[allow(unreachable_patterns)]
_ => Err(SframeError::UnsupportedCipherSuite),
}
}
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub struct Kdf;