Skip to content

fix: LMOTS pattern, add HSS variant (LMS family) - #1029

Open
Mehrn0ush wants to merge 1 commit into
CycloneDX:masterfrom
Mehrn0ush:fix/lms-hss-variant-model
Open

fix: LMOTS pattern, add HSS variant (LMS family)#1029
Mehrn0ush wants to merge 1 commit into
CycloneDX:masterfrom
Mehrn0ush:fix/lms-hss-variant-model

Conversation

@Mehrn0ush

Copy link
Copy Markdown
Contributor

Hi,
LMOTS had a treeHeight parameter it shouldn't — LM-OTS doesn't use a Merkle tree, so there's no height involved. Swapped it for the Winternitz parameter w, which is what actually distinguishes the RFC's parameter sets (LMOTS_SHA256_N32_W1/W2/W4/W8).

Also added HSS, which was missing entirely. It's just the multi-level LMS construction, parameterized by number of levels (L), so the pattern is intentionally minimal — no hash/M/H, since those come from whichever LMS parameter set each level uses.

LMS itself was already correct.

"LMOTS[_{hashAlgorithm}][_N{bytesPerNode}][_W{winternitzParameter}]"
"HSS[_L{levels}]"

One question — LMOTS still reuses {bytesPerNode} for its N parameter, but RFC 8554 calls this n — the LM-OTS hash output length, not a node value (LM-OTS has no tree nodes). Should this be renamed to something like {hashOutputLength} on LMOTS, keeping {bytesPerNode} only on LMS where it's accurate? Didn't want to bundle a naming change into this fix, so leaving it open — happy to push a follow-up if there's agreement either way.

Closes #1028.

Align LMOTS with RFC 8554 Table 1 (N and W, not tree height) and add
the HSS levels pattern from RFC 8554 §6 / NIST SP 800-208.
Signed-off-by: Mehrn0ush <mehrnoush.vaseghi@gmail.com>
@Mehrn0ush
Mehrn0ush requested a review from a team as a code owner August 16, 2026 14:00
@Mehrn0ush Mehrn0ush changed the title Fix LMOTS pattern, add HSS variant (LMS family) fix: LMOTS pattern, add HSS variant (LMS family) Aug 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

1 participant