1
0
mirror of https://github.com/wolfSSL/wolfssl.git synced 2026-10-24 04:09:07 +03:00
Files
wolfssl/certs/slhdsa/include.am
Tobias Frauenschläger 69291355b6 Benchmark SLH-DSA SHA2-128s verify in verify-only builds
The verify-only SLH-DSA benchmark only had a SHAKE-128s vector, because
that is the only verify-only signature in wolfcrypt/test/test.c. Builds
with only the SHA2 parameter sets showed no SLH-DSA row at all.

Add a SHA2-128s vector: a deterministic, empty-context signature of
"Hello World!" by the existing bench_slhdsa_sha2_128s_key.der. It was
generated with OpenSSL 4.0.3; wolfSSL verifies it, rejects it once a
message bit is flipped, and its own deterministic signature from the
same key is byte-identical. gen-slhdsa-mldsa-certs.sh gains the step
that produces it, and a rerun reproduces the committed files. The pq-all
verify-only benchmark config enables sha2 and requires this row too.

bench_slhdsa_verify() now takes the parameter set and vector. The row
uses the full benchmark's name, SLH-DSA-SHA2-S, and takes its strength
from the public key size, as the full benchmark does. Verify-only
builds accept -slhdsa-sha2-128s when SHA2-128s is built.

Tested on the host with --enable-slhdsa=yes,sha2,verify-only on its
own, with --enable-smallstack and with --disable-rng, with sha2 only,
with SHAKE only and 192f only (no SHA2 row, no warnings), and with the
full sha2 build.
2026-10-14 10:59:13 +02:00

55 lines
2.7 KiB
Plaintext

# vim:ft=automake
# All paths should be given relative to the root
#
EXTRA_DIST += \
certs/slhdsa/bench_slhdsa_shake128s_key.der \
certs/slhdsa/bench_slhdsa_shake128f_key.der \
certs/slhdsa/bench_slhdsa_shake192s_key.der \
certs/slhdsa/bench_slhdsa_shake192f_key.der \
certs/slhdsa/bench_slhdsa_shake256s_key.der \
certs/slhdsa/bench_slhdsa_shake256f_key.der \
certs/slhdsa/bench_slhdsa_sha2_128s_key.der \
certs/slhdsa/bench_slhdsa_sha2_128f_key.der \
certs/slhdsa/bench_slhdsa_sha2_192s_key.der \
certs/slhdsa/bench_slhdsa_sha2_192f_key.der \
certs/slhdsa/bench_slhdsa_sha2_256s_key.der \
certs/slhdsa/bench_slhdsa_sha2_256f_key.der \
certs/slhdsa/gen-slhdsa-mldsa-certs.sh \
certs/slhdsa/server-mldsa44-priv.pem \
certs/slhdsa/client-mldsa44-priv.pem \
certs/slhdsa/root-slhdsa-shake-128s-priv.pem \
certs/slhdsa/root-slhdsa-shake-128s-priv.der \
certs/slhdsa/root-slhdsa-shake-128s.pem \
certs/slhdsa/root-slhdsa-shake-128s.der \
certs/slhdsa/server-mldsa44-shake.pem \
certs/slhdsa/client-mldsa44-shake.pem \
certs/slhdsa/root-slhdsa-sha2-128s-priv.pem \
certs/slhdsa/root-slhdsa-sha2-128s-priv.der \
certs/slhdsa/root-slhdsa-sha2-128s.pem \
certs/slhdsa/root-slhdsa-sha2-128s.der \
certs/slhdsa/server-mldsa44-sha2.pem \
certs/slhdsa/client-mldsa44-sha2.pem \
certs/slhdsa/server-slhdsa-shake-128f-priv.pem \
certs/slhdsa/server-slhdsa-shake-128f.pem \
certs/slhdsa/client-slhdsa-shake-128f-priv.pem \
certs/slhdsa/client-slhdsa-shake-128f.pem \
certs/slhdsa/server-slhdsa-shake-128s-priv.pem \
certs/slhdsa/server-slhdsa-shake-128s.pem \
certs/slhdsa/client-slhdsa-shake-128s-priv.pem \
certs/slhdsa/client-slhdsa-shake-128s.pem \
certs/slhdsa/server-slhdsa-sha2-128f-priv.pem \
certs/slhdsa/server-slhdsa-sha2-128f.pem \
certs/slhdsa/client-slhdsa-sha2-128f-priv.pem \
certs/slhdsa/client-slhdsa-sha2-128f.pem \
certs/slhdsa/server-slhdsa-sha2-128s-priv.pem \
certs/slhdsa/server-slhdsa-sha2-128s.pem \
certs/slhdsa/client-slhdsa-sha2-128s-priv.pem \
certs/slhdsa/client-slhdsa-sha2-128s.pem \
certs/slhdsa/bench_slhdsa_shake128s_pub.bin \
certs/slhdsa/bench_slhdsa_shake128s_sig.bin \
certs/slhdsa/bench_slhdsa_shake128s_msg.bin \
certs/slhdsa/bench_slhdsa_sha2_128s_pub.bin \
certs/slhdsa/bench_slhdsa_sha2_128s_sig.bin \
certs/slhdsa/bench_slhdsa_sha2_128s_msg.bin