Skip to content

[Defect]: LMOTS parameters and add missing HSS variant (LMS family) #1028

Description

@Mehrn0ush

Description:

The LMS family definition in cryptography-defs.json need to update to match RFC 8554 / NIST SP 800-208.

LMOTS pattern uses the wrong parameter

LMOTS[_{hashfun}][_N{bytespernode}][_H{treeheight}]

LM-OTS is a one-time signature, not a Merkle tree, so it has no tree-height parameter. RFC 8554 §4.1 defines n, w, p, ls, and the hash function H — but that H names the hash algorithm (e.g., SHA256), not a height. Height (h) is only defined in §5.1 for LMS. The parameter that actually varies across LM-OTS parameter-set names is the Winternitz width w.

Fix:

LMOTS[_{hashAlgorithm}][_N{bytesPerNode}][_W{winternitzParameter}]

Missing — HSS isn't defined at all

RFC 8554 §6 (and SP 800-208) define HSS as the multi-level construction built on top of LMS, parameterized only by the number of levels L (1–8). It has no hash/m/h of its own — those come from whichever LMS parameter set is used at each level, and different levels may use different sets.

Add:

HSS[_L{levels}]

References:

RFC 8554 §4.1 (LM-OTS), §5.1 (LMS), §6 (HSS); NIST SP 800-208 §4.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions