#[cfg(test)]
mod crypto_test;
use bytes::Bytes;
use crate::utilities::error::*;
pub mod cipher_suite;
pub mod credential;
pub mod provider;
pub type HPKEPublicKey = Bytes;
pub type SignaturePublicKey = Bytes;
#[allow(non_camel_case_types)]
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
#[repr(u16)]
pub enum Kem {
#[default]
KEM_P256_HKDF_SHA256 = 0x10,
KEM_P384_HKDF_SHA384 = 0x11,
KEM_P521_HKDF_SHA512 = 0x12,
KEM_X25519_HKDF_SHA256 = 0x20,
KEM_X448_HKDF_SHA512 = 0x21,
KEM_X25519_KYBER768_DRAFT00 = 0x30,
}
#[allow(non_camel_case_types)]
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
#[repr(u16)]
pub enum Kdf {
#[default]
KDF_HKDF_SHA256 = 0x01,
KDF_HKDF_SHA384 = 0x02,
KDF_HKDF_SHA512 = 0x03,
}
#[allow(non_camel_case_types)]
#[derive(Default, Debug, Copy, Clone, Eq, PartialEq)]
#[repr(u16)]
pub enum Aead {
#[default]
AEAD_AES128GCM = 0x01,
AEAD_AES256GCM = 0x02,
AEAD_ChaCha20Poly1305 = 0x03,
}