Skip to main content

Module xmss

Module xmss 

Source
Expand description

XMSS: eXtended Merkle Signature Scheme combining WOTS+ with a Merkle tree. XMSS: eXtended Merkle Signature Scheme (FIPS 205, Algorithms 9-11).

XMSS combines multiple WOTS+ one-time key pairs into a few-time signature scheme by organizing them as leaves of a binary Merkle tree of height h'. Each XMSS tree can sign 2^h' messages (one per WOTS+ leaf).

In the SLH-DSA hierarchy, XMSS trees form the building blocks of the hypertree: each layer of the hypertree consists of XMSS trees, where the leaves of upper-layer trees certify the roots of lower-layer trees.

The Merkle tree uses the tweakable hash H (hash::hash_h) for internal nodes and WOTS+ public keys (wots::wots_pk_gen) as leaf values.

Functions§

xmss_node
Compute the root of an XMSS Merkle subtree.
xmss_pk_from_sig
Compute an XMSS public key (tree root) from an XMSS signature.
xmss_sign
Create an XMSS signature for an n-byte message.
xmss_sign_into
Streaming variant of xmss_sign — writes the (LEN + H') * N byte signature into the start of out (which must be at least that size) instead of returning a freshly-allocated Vec<u8>.