Skip to main content

Module address

Module address 

Source
Expand description

Address structure used to domain-separate hash calls throughout SLH-DSA. ADRS (Address) structure for SLH-DSA (FIPS 205, Section 4.2).

The address structure is a 32-byte value organized as 8 big-endian u32 words. It is used to domain-separate every hash call in SLH-DSA so that distinct positions in the tree hierarchy produce independent hash outputs.

§Layout

BytesFieldDescription
[0..4]Layer addressHypertree layer (0 = bottom)
[4..16]Tree addressIndex of the XMSS tree (3 words)
[16..20]TypeAddress type (see constants below)
[20..32]Type-specificMeaning depends on the type field

Structs§

Adrs
A 32-byte address structure used to domain-separate hash function calls in SLH-DSA.

Constants§

FORS_PRF
Address type for FORS secret key generation via PRF.
FORS_ROOTS
Address type for FORS root compression (combining k roots into one public key).
FORS_TREE
Address type for FORS tree nodes.
TREE
Address type for XMSS/hypertree internal Merkle tree nodes.
WOTS_HASH
Address type for WOTS+ hash chain evaluation.
WOTS_PK
Address type for WOTS+ public key compression.
WOTS_PRF
Address type for WOTS+ secret key generation via PRF.