Comparing Key Sizes Empirically
use ml_kem::{MlKem512, MlKem768, MlKem1024, KemCore};
fn print_sizes<K: KemCore>() where K::EncapsKey: EncodedSizeUser {
let (dk, ek) = K::generate(&mut OsRng);
let (ct, _) = ek.encapsulate(&mut OsRng).unwrap();
println!("pk: {} bytes, sk: {} bytes, ct: {} bytes",
ek.as_bytes().len(),
dk.as_bytes().len(),
ct.as_bytes().len());
}
print_sizes::<MlKem512>();
print_sizes::<MlKem768>();
print_sizes::<MlKem1024>();