pub trait Params: Clone + Default {
Show 15 associated constants and 0 method
const N: usize;
const H: usize;
const D: usize;
const H_PRIME: usize;
const A: usize;
const K: usize;
const M: usize;
const NAME: &'static str;
const LG_W: usize = 4;
const W: usize = 16;
const LEN1: usize = _;
const LEN2: usize = 3;
const LEN: usize = _;
const PK_LEN: usize = _;
const SK_LEN: usize = _;
}Expand description
Trait defining all compile-time parameters for an SLH-DSA instance.
Implementors of this trait represent a specific FIPS 205 parameter set (e.g., SLH-DSA-SHAKE-128f). The constants fully determine key sizes, signature sizes, tree structures, and hash output lengths.
See FIPS 205, Table 2 for the complete list of parameter values.
Required Associated Constants§
Sourceconst N: usize
const N: usize
Security parameter n: hash output length in bytes.
This is the fundamental security parameter. All hash outputs, secret values,
and tree nodes are n bytes long.
Sourceconst H: usize
const H: usize
Total hypertree height: h = d * h'.
Determines the total number of FORS key pairs the scheme can use: 2^h.
Sourceconst D: usize
const D: usize
Number of layers d in the hypertree.
The hypertree consists of d stacked XMSS trees, each of height h'.
Sourceconst H_PRIME: usize
const H_PRIME: usize
Height h' of each individual XMSS tree within the hypertree.
Each XMSS tree authenticates 2^h' keys in the layer below it.
Provided Associated Constants§
Sourceconst W: usize = 16
const W: usize = 16
Winternitz parameter w = 2^lg_w = 16.
Controls the time/size trade-off in WOTS+ chains: each chain has w - 1 steps.
Sourceconst LEN1: usize = _
const LEN1: usize = _
WOTS+ parameter len1 = ceil(8*n / lg_w) = 2*n (since lg_w = 4).
Number of base-w digits needed to represent an n-byte message.
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.