Skip to content

Skip hypertree root recomputation when signing SLH-DSA - #195

Merged
Xor-el merged 1 commit into
masterfrom
perf/slhdsa-skip-root-recompute
Sep 1, 2026
Merged

Skip hypertree root recomputation when signing SLH-DSA#195
Xor-el merged 1 commit into
masterfrom
perf/slhdsa-skip-root-recompute

Conversation

@Xor-el

@Xor-el Xor-el commented Sep 1, 2026

Copy link
Copy Markdown
Owner

The HT constructor always built the top-layer XMSS tree to derive the hypertree public key, so every signature repeated that build (about 1/d of key generation) to produce a value the private key already holds in PK.root. Only key generation needs it, and the signing path never reads it.

Move the root computation out of the constructor into an explicit PKGen method that only the key pair generator calls; the constructor now just wires up the engine and WOTS+ state.

The HT constructor always built the top-layer XMSS tree to derive the
hypertree public key, so every signature repeated that build (about 1/d
of key generation) to produce a value the private key already holds in
PK.root. Only key generation needs it, and the signing path never reads it.

Move the root computation out of the constructor into an explicit PKGen
method that only the key pair generator calls; the constructor now just
wires up the engine and WOTS+ state.
@Xor-el
Xor-el merged commit e9350c8 into master Sep 1, 2026
56 checks passed
@Xor-el
Xor-el deleted the perf/slhdsa-skip-root-recompute branch September 1, 2026 15:11
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.

1 participant