lib/crypto: tests: Add KUnit tests for SHA-384 and SHA-512

Add KUnit test suites for the SHA-384 and SHA-512 library functions,
including the corresponding HMAC support.  The core test logic is in the
previously-added hash-test-template.h.  This commit just adds the actual
KUnit suites, and it adds the generated test vectors to the tree so that
gen-hash-testvecs.py won't have to be run at build time.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250709200112.258500-4-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
This commit is contained in:
Eric Biggers
2025-07-09 13:01:11 -07:00
parent 4dcf6cadda
commit 571eaeddb6
6 changed files with 723 additions and 0 deletions

View File

@@ -12,6 +12,18 @@ config CRYPTO_LIB_SHA256_KUNIT_TEST
KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions
and their corresponding HMACs.
# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are
# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512).
config CRYPTO_LIB_SHA512_KUNIT_TEST
tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS
depends on KUNIT
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
select CRYPTO_LIB_BENCHMARK_VISIBLE
select CRYPTO_LIB_SHA512
help
KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions
and their corresponding HMACs.
config CRYPTO_LIB_BENCHMARK_VISIBLE
bool