XMSS is a stateful, hash-based signature scheme that compresses many one-time signatures (OTS) into a Merkle tree. Its root hash serves as the public key; each signature combines an unused OTS signature with a Merkle membership proof. section 14.2.3
A practical XMSS signing process follows these steps:
- Derive the OTS key pair from a private seed and its leaf position instead of storing every OTS private key. section 14.2.3
- Select an OTS that has not signed before, and attach the neighboring tree nodes needed to prove that its leaf belongs to the public Merkle root. section 14.2.3
- Increment the private-key counter after signing; reusing an OTS breaks the stateful safety requirement. section 14.2.3
The state you must protect
Suppose a private key contains a seed and a counter identifying the last used leaf. Signing the next message deterministically regenerates that leaf’s OTS key, produces its signature and Merkle proof, and advances the counter. Losing synchronization risks reusing an OTS. section 14.2.3
