[EXTERNAL] [PATCH v9] examples: add Wycheproof validation app
Akhil Goyal
gakhil at marvell.com
Mon Oct 26 19:21:49 CET 2026
> Add a Wycheproof JSON vector validation example for cryptodev PMDs.
>
> Create examples/crypto_validation for the validation applications.
> Move the existing examples/fips_validation application into that
> directory alongside Wycheproof.
>
> Support these algorithms when advertised by the selected PMD:
> - AEAD: AES-GCM, AES-CCM, SM4-GCM, ChaCha20-Poly1305
> - MAC: AES-CMAC, AES-GMAC, HMAC SHA-1/SHA-2/SHA-3/SM3
> - Asymmetric: DSA (P1363 verify), ECDSA (P1363 verify),
> ECDH (ecpoint shared-secret compute)
>
> Validate valid vectors against generated ciphertexts, tags, plaintexts,
> digests, shared secrets, or signature verification, and require the
> expected rejection for invalid vectors. Digest inputs for DSA and ECDSA
> use the symmetric auth path, selecting a separate symmetric-capable
> device when the target device is asymmetric-only.
>
> Skip parameter combinations outside PMD capability ranges and identify
> recognized vector families without a compatible DPDK transform. A
> --debug option lists every failed or skipped vector.
>
> Add Meson and standalone build integration, with usage documentation.
>
> Signed-off-by: Kai Ji <kai.ji at intel.com>
> ---
> MAINTAINERS | 7 +-
> doc/guides/rel_notes/release_26_11.rst | 6 +
> doc/guides/sample_app_ug/index.rst | 1 +
> .../sample_app_ug/wycheproof_validation.rst | 51 +
> .../fips_validation/Makefile | 0
> .../fips_validation/fips_dev_self_test.c | 0
> .../fips_validation/fips_dev_self_test.h | 0
> .../fips_validation/fips_validation.c | 0
> .../fips_validation/fips_validation.h | 0
> .../fips_validation/fips_validation_aes.c | 0
> .../fips_validation/fips_validation_ccm.c | 0
> .../fips_validation/fips_validation_cmac.c | 0
> .../fips_validation/fips_validation_ecdsa.c | 0
> .../fips_validation/fips_validation_eddsa.c | 0
> .../fips_validation/fips_validation_gcm.c | 0
> .../fips_validation/fips_validation_hmac.c | 0
> .../fips_validation/fips_validation_rsa.c | 0
> .../fips_validation/fips_validation_sha.c | 0
> .../fips_validation/fips_validation_tdes.c | 0
> .../fips_validation/fips_validation_xts.c | 0
> .../fips_validation/main.c | 0
> .../fips_validation/meson.build | 0
> .../wycheproof_validation/Makefile | 40 +
> .../wycheproof_validation/main.c | 2097 +++++++++++++++++
> .../wycheproof_validation/meson.build | 18 +
> examples/meson.build | 3 +-
> 26 files changed, 2221 insertions(+), 2 deletions(-)
> create mode 100644 doc/guides/sample_app_ug/wycheproof_validation.rst
> rename examples/{ => crypto_validation}/fips_validation/Makefile (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_dev_self_test.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_dev_self_test.h
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation.h
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_aes.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_ccm.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_cmac.c
> (100%)
> rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_ecdsa.c (100%)
> rename examples/{ =>
> crypto_validation}/fips_validation/fips_validation_eddsa.c (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_gcm.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_hmac.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_rsa.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_sha.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_tdes.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/fips_validation_xts.c
> (100%)
> rename examples/{ => crypto_validation}/fips_validation/main.c (100%)
> rename examples/{ => crypto_validation}/fips_validation/meson.build (100%)
> create mode 100644
> examples/crypto_validation/wycheproof_validation/Makefile
> create mode 100644 examples/crypto_validation/wycheproof_validation/main.c
> create mode 100644
> examples/crypto_validation/wycheproof_validation/meson.build
Can we split this patch into 2 patches or more patches.
- one to move fips. Rename fips_validation.rst to crypto_validation.rst and update it to have fips as one section
- others to add new app(logical split if possible). Add another section in crypto_validation.rst for Wycheproof.
Check multi_process.rst for reference.
More information about the dev
mailing list