Configuration parameters for a hybrid KEM.
pub const Params = struct
pub const Params = struct {
/// Human-readable name of the hybrid KEM (e.g., "MLKEM768-X25519").
name: []const u8,
/// Domain separation label used in the combiner function.
label: []const u8,
/// The post-quantum KEM type (e.g., ml_kem.MLKem768).
PqKem: type,
/// The traditional elliptic curve group type.
Group: type,
/// Seed length in bytes for the post-quantum KEM key generation.
pq_nseed: usize,
/// Seed length in bytes for the hybrid KEM (decapsulation key size).
Nseed: usize,
/// Encapsulation key (public key) length in bytes.
Nek: usize,
/// Decapsulation key (secret key) length in bytes.
Ndk: usize,
/// Ciphertext length in bytes.
Nct: usize,
/// Shared secret length in bytes.
Nss: usize,
/// Extendable output function for seed expansion (default: SHAKE256).
Xof: type = sha3.Shake256,
}