Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

Params

Configuration parameters for a hybrid KEM.

hybrid_kem.Params
pub const Params = struct

File

lib/std/crypto/hybrid_kem.zig:73

Code

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,
}