| # SPDX-License-Identifier: GPL-2.0-or-later |
| |
| config CRYPTO_LIB_AES_CBC_MACS_KUNIT_TEST |
| tristate "KUnit tests for AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_AES_CBC_MACS |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC message |
| authentication codes. |
| |
| config CRYPTO_LIB_BLAKE2B_KUNIT_TEST |
| tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_BLAKE2B |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| # No need to depend on 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_CHACHA20POLY1305_KUNIT_TEST |
| tristate "KUnit tests for ChaCha20Poly1305" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_CHACHA20POLY1305 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the ChaCha20Poly1305 authenticated encryption |
| algorithm. |
| |
| config CRYPTO_LIB_CURVE25519_KUNIT_TEST |
| tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_CURVE25519 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the Curve25519 Diffie-Hellman function. |
| |
| config CRYPTO_LIB_GHASH_KUNIT_TEST |
| tristate "KUnit tests for GHASH" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_GF128HASH |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the GHASH library functions. |
| |
| config CRYPTO_LIB_MD5_KUNIT_TEST |
| tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_MD5 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the MD5 cryptographic hash function and its |
| corresponding HMAC. |
| |
| config CRYPTO_LIB_MLDSA_KUNIT_TEST |
| tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_MLDSA |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the ML-DSA digital signature algorithm. |
| |
| config CRYPTO_LIB_NH_KUNIT_TEST |
| tristate "KUnit tests for NH" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_NH |
| default KUNIT_ALL_TESTS |
| help |
| KUnit tests for the NH almost-universal hash function. |
| |
| config CRYPTO_LIB_POLY1305_KUNIT_TEST |
| tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_POLY1305 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 && CRYPTO_LIB_GF128HASH |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 && CRYPTO_LIB_SHA1 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 && CRYPTO_LIB_SHA256 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 && CRYPTO_LIB_SHA512 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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 && CRYPTO_LIB_SHA3 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| 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_SM3_KUNIT_TEST |
| tristate "KUnit tests for SM3" if !KUNIT_ALL_TESTS |
| depends on KUNIT && CRYPTO_LIB_SM3 |
| default KUNIT_ALL_TESTS |
| select CRYPTO_LIB_BENCHMARK_VISIBLE |
| help |
| KUnit tests for the SM3 cryptographic hash function. |
| |
| config CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT |
| tristate "Enable all crypto library code for KUnit tests" |
| depends on KUNIT |
| select CRYPTO_LIB_AES_CBC_MACS |
| select CRYPTO_LIB_BLAKE2B |
| select CRYPTO_LIB_CHACHA20POLY1305 |
| select CRYPTO_LIB_CURVE25519 |
| select CRYPTO_LIB_GF128HASH |
| select CRYPTO_LIB_MD5 |
| select CRYPTO_LIB_MLDSA |
| select CRYPTO_LIB_NH |
| select CRYPTO_LIB_POLY1305 |
| select CRYPTO_LIB_SHA1 |
| select CRYPTO_LIB_SHA256 |
| select CRYPTO_LIB_SHA512 |
| select CRYPTO_LIB_SHA3 |
| select CRYPTO_LIB_SM3 |
| help |
| Enable all the crypto library code that has KUnit tests. |
| |
| Enable this only if you'd like to test all the crypto library code, |
| even code that wouldn't otherwise need to be built. |
| |
| You'll still need to enable the tests themselves, either individually |
| or using KUNIT_ALL_TESTS. |
| |
| 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. |