mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Add a test suite for the POLYVAL library, including: - All the standard tests and the benchmark from hash-test-template.h - Comparison with a test vector from the RFC - Test with key and message containing all one bits - Additional tests related to the key struct Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20251109234726.638437-4-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
119 lines
4.1 KiB
Plaintext
119 lines
4.1 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
config CRYPTO_LIB_BLAKE2B_KUNIT_TEST
|
|
tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_BLAKE2B
|
|
help
|
|
KUnit tests for the BLAKE2b cryptographic hash function.
|
|
|
|
config CRYPTO_LIB_BLAKE2S_KUNIT_TEST
|
|
tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
# No need to select CRYPTO_LIB_BLAKE2S here, as that option doesn't
|
|
# exist; the BLAKE2s code is always built-in for the /dev/random driver.
|
|
help
|
|
KUnit tests for the BLAKE2s cryptographic hash function.
|
|
|
|
config CRYPTO_LIB_CURVE25519_KUNIT_TEST
|
|
tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_CURVE25519
|
|
help
|
|
KUnit tests for the Curve25519 Diffie-Hellman function.
|
|
|
|
config CRYPTO_LIB_MD5_KUNIT_TEST
|
|
tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_MD5
|
|
help
|
|
KUnit tests for the MD5 cryptographic hash function and its
|
|
corresponding HMAC.
|
|
|
|
config CRYPTO_LIB_POLY1305_KUNIT_TEST
|
|
tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_POLY1305
|
|
help
|
|
KUnit tests for the Poly1305 library functions.
|
|
|
|
config CRYPTO_LIB_POLYVAL_KUNIT_TEST
|
|
tristate "KUnit tests for POLYVAL" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_POLYVAL
|
|
help
|
|
KUnit tests for the POLYVAL library functions.
|
|
|
|
config CRYPTO_LIB_SHA1_KUNIT_TEST
|
|
tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_SHA1
|
|
help
|
|
KUnit tests for the SHA-1 cryptographic hash function and its
|
|
corresponding HMAC.
|
|
|
|
# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are
|
|
# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256).
|
|
config CRYPTO_LIB_SHA256_KUNIT_TEST
|
|
tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_SHA256
|
|
help
|
|
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_SHA3_KUNIT_TEST
|
|
tristate "KUnit tests for SHA-3" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
|
|
select CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
select CRYPTO_LIB_SHA3
|
|
help
|
|
KUnit tests for the SHA3 cryptographic hash and XOF functions,
|
|
including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and
|
|
SHAKE256.
|
|
|
|
config CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
bool
|
|
|
|
config CRYPTO_LIB_BENCHMARK
|
|
bool "Include benchmarks in KUnit tests for cryptographic functions"
|
|
depends on CRYPTO_LIB_BENCHMARK_VISIBLE
|
|
help
|
|
Include benchmarks in the KUnit tests for cryptographic functions.
|
|
The benchmark results are printed to the kernel log when the
|
|
corresponding KUnit test suite runs.
|
|
|
|
This is useful for evaluating the performance of the cryptographic
|
|
functions. However, it will increase the runtime of the KUnit tests.
|
|
|
|
If you're only interested in correctness testing, leave this disabled.
|