mod kem;
mod params;
mod pke;
mod poly;
pub use kem::{
MlKem, MlKemCiphertext, MlKemDecapsulationKey, MlKemEncapsulationKey, MlKemKeyPair,
MlKemSharedSecret,
};
pub use params::{MlKem1024Params, MlKem512Params, MlKem768Params, MlKemParameterSet};
pub type MlKem512 = MlKem<MlKem512Params>;
pub type MlKem768 = MlKem<MlKem768Params>;
pub type MlKem1024 = MlKem<MlKem1024Params>;
pub type MlKem512EncapsulationKey = MlKemEncapsulationKey<MlKem512Params>;
pub type MlKem768EncapsulationKey = MlKemEncapsulationKey<MlKem768Params>;
pub type MlKem1024EncapsulationKey = MlKemEncapsulationKey<MlKem1024Params>;
pub type MlKem512DecapsulationKey = MlKemDecapsulationKey<MlKem512Params>;
pub type MlKem768DecapsulationKey = MlKemDecapsulationKey<MlKem768Params>;
pub type MlKem1024DecapsulationKey = MlKemDecapsulationKey<MlKem1024Params>;
pub type MlKem512Ciphertext = MlKemCiphertext<MlKem512Params>;
pub type MlKem768Ciphertext = MlKemCiphertext<MlKem768Params>;
pub type MlKem1024Ciphertext = MlKemCiphertext<MlKem1024Params>;
pub type MlKem512KeyPair = MlKemKeyPair<MlKem512Params>;
pub type MlKem768KeyPair = MlKemKeyPair<MlKem768Params>;
pub type MlKem1024KeyPair = MlKemKeyPair<MlKem1024Params>;
pub const ML_KEM_SHARED_SECRET_BYTES: usize = 32;
#[cfg(test)]
mod tests;