Skip to main content

Module slh

Module slh 

Source
Expand description

Top-level SLH-DSA key generation, signing, and verification algorithms. Top-level SLH-DSA algorithms (FIPS 205, Algorithms 18-22, 24).

This module implements the complete SLH-DSA signature lifecycle:

  • Key generation (slh_keygen, slh_keygen_internal): generates the master seeds and computes the hypertree root to form the public key.
  • Signing (slh_sign, slh_sign_internal): hashes the message, signs it with FORS, then signs the FORS public key with the hypertree.
  • Verification (slh_verify, slh_verify_internal): recomputes the FORS public key from the FORS signature, then verifies the hypertree signature against the public key root.

The signature format is: R || SIG_FORS || SIG_HT, where R is the n-byte randomizer, SIG_FORS is the FORS signature, and SIG_HT is the hypertree signature.

Functionsยง

slh_keygen
Generate an SLH-DSA key pair using random seeds from the provided RNG.
slh_keygen_internal
Generate an SLH-DSA key pair from explicit seed material (deterministic).
slh_sign
Sign a message with randomized (hedged) signing.
slh_sign_internal
Internal SLH-DSA signing function.
slh_verify
Verify an SLH-DSA signature against a message and public key.
slh_verify_internal
Internal SLH-DSA verification function.