Trait ParameterSet

Source
pub trait ParameterSet:
    Default
    + Clone
    + Debug
    + PartialEq {
    type K: ArraySize;
    type Eta1: CbdSamplingSize;
    type Eta2: CbdSamplingSize;
    type Du: VectorEncodingSize<Self::K>;
    type Dv: EncodingSize;
}
Expand description

A ParameterSet captures the parameters that describe a particular instance of ML-KEM. There are three variants, corresponding to three different security levels.

Required Associated Types§

Source

type K: ArraySize

The dimensionality of vectors and arrays

Source

type Eta1: CbdSamplingSize

The bit width of the centered binary distribution used when sampling random polynomials in key generation and encryption.

Source

type Eta2: CbdSamplingSize

The bit width of the centered binary distribution used when sampling error vectors during encryption.

Source

type Du: VectorEncodingSize<Self::K>

The bit width of encoded integers in the u vector in a ciphertext

Source

type Dv: EncodingSize

The bit width of encoded integers in the v polynomial in a ciphertext

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§