Skip to content

benchmark: add LMS and XMSS PQC benchmark modules#7

Open
Frauschi wants to merge 1 commit into
mainfrom
lms_xmss_bench
Open

benchmark: add LMS and XMSS PQC benchmark modules#7
Frauschi wants to merge 1 commit into
mainfrom
lms_xmss_bench

Conversation

@Frauschi

Copy link
Copy Markdown
Owner

Add KeyGen/Sign/Verify benchmarks for the two stateful hash-based PQC schemes wolfHSM supports: LMS (L1/H5/W8) and XMSS (SHA2_10_256). Both are DMA-only, so each operation is a single variant.

Verify runs against embedded precomputed (public key, signature) vectors instead of generating them at runtime, so it is available in verify-only builds (guarded by WOLFSSL_HAVE_{LMS,XMSS}); keygen and sign require a signing build (!WOLFSSL_{LMS,XMSS}_VERIFY_ONLY).

The stateful sign benchmark clamps its iteration count to the key's 2^H one-time-signature budget (logging when it caps) so raising the shared WOLFHSM_CFG_BENCH_PK_ITERS does not exhaust the key. Each generated key is erased from server NVM after the measured operation.

Enable LMS/XMSS in the benchmark config and raise MAX_BENCH_OPS to fit the new modules.

Add KeyGen/Sign/Verify benchmarks for the two stateful hash-based PQC
schemes wolfHSM supports: LMS (L1/H5/W8) and XMSS (SHA2_10_256). Both
are DMA-only, so each operation is a single variant.

Verify runs against embedded precomputed (public key, signature)
vectors instead of generating them at runtime, so it is available in
verify-only builds (guarded by WOLFSSL_HAVE_{LMS,XMSS}); keygen and
sign require a signing build (!WOLFSSL_{LMS,XMSS}_VERIFY_ONLY).

The stateful sign benchmark clamps its iteration count to the key's
2^H one-time-signature budget (logging when it caps) so raising the
shared WOLFHSM_CFG_BENCH_PK_ITERS does not exhaust the key. Each
generated key is erased from server NVM after the measured operation.

Enable LMS/XMSS in the benchmark config and raise MAX_BENCH_OPS to fit
the new modules.
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