14dcf6cadSEric Biggers# SPDX-License-Identifier: GPL-2.0-or-later 24dcf6cadSEric Biggers 3a348fd1fSEric Biggersconfig CRYPTO_LIB_AES_CBC_MACS_KUNIT_TEST 4a348fd1fSEric Biggers tristate "KUnit tests for AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC" if !KUNIT_ALL_TESTS 5a348fd1fSEric Biggers depends on KUNIT && CRYPTO_LIB_AES_CBC_MACS 66d80749bSEric Biggers default KUNIT_ALL_TESTS 7a348fd1fSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 8a348fd1fSEric Biggers help 9a348fd1fSEric Biggers KUnit tests for the AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC message 10a348fd1fSEric Biggers authentication codes. 11a348fd1fSEric Biggers 126401fd33SEric Biggersconfig CRYPTO_LIB_BLAKE2B_KUNIT_TEST 136401fd33SEric Biggers tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS 144478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_BLAKE2B 156d80749bSEric Biggers default KUNIT_ALL_TESTS 166401fd33SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 176401fd33SEric Biggers help 186401fd33SEric Biggers KUnit tests for the BLAKE2b cryptographic hash function. 196401fd33SEric Biggers 20362f9228SEric Biggersconfig CRYPTO_LIB_BLAKE2S_KUNIT_TEST 21362f9228SEric Biggers tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS 22362f9228SEric Biggers depends on KUNIT 236d80749bSEric Biggers default KUNIT_ALL_TESTS 24362f9228SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 254478e8eeSEric Biggers # No need to depend on CRYPTO_LIB_BLAKE2S here, as that option doesn't 26362f9228SEric Biggers # exist; the BLAKE2s code is always built-in for the /dev/random driver. 27362f9228SEric Biggers help 28362f9228SEric Biggers KUnit tests for the BLAKE2s cryptographic hash function. 29362f9228SEric Biggers 30d2a68abaSEric Biggersconfig CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST 31d2a68abaSEric Biggers tristate "KUnit tests for ChaCha20Poly1305" if !KUNIT_ALL_TESTS 32d2a68abaSEric Biggers depends on KUNIT && CRYPTO_LIB_CHACHA20POLY1305 33d2a68abaSEric Biggers default KUNIT_ALL_TESTS 34d2a68abaSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 35d2a68abaSEric Biggers help 36d2a68abaSEric Biggers KUnit tests for the ChaCha20Poly1305 authenticated encryption 37d2a68abaSEric Biggers algorithm. 38d2a68abaSEric Biggers 39afc4e4a5SEric Biggersconfig CRYPTO_LIB_CURVE25519_KUNIT_TEST 40afc4e4a5SEric Biggers tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS 414478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_CURVE25519 426d80749bSEric Biggers default KUNIT_ALL_TESTS 43afc4e4a5SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 44afc4e4a5SEric Biggers help 45afc4e4a5SEric Biggers KUnit tests for the Curve25519 Diffie-Hellman function. 46afc4e4a5SEric Biggers 4775e34befSEric Biggersconfig CRYPTO_LIB_GHASH_KUNIT_TEST 4875e34befSEric Biggers tristate "KUnit tests for GHASH" if !KUNIT_ALL_TESTS 4975e34befSEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 5075e34befSEric Biggers default KUNIT_ALL_TESTS 5175e34befSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 5275e34befSEric Biggers help 5375e34befSEric Biggers KUnit tests for the GHASH library functions. 5475e34befSEric Biggers 55d6b6aac0SEric Biggersconfig CRYPTO_LIB_MD5_KUNIT_TEST 56d6b6aac0SEric Biggers tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS 574478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MD5 586d80749bSEric Biggers default KUNIT_ALL_TESTS 59d6b6aac0SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 60d6b6aac0SEric Biggers help 61d6b6aac0SEric Biggers KUnit tests for the MD5 cryptographic hash function and its 62d6b6aac0SEric Biggers corresponding HMAC. 63d6b6aac0SEric Biggers 64ed894facSEric Biggersconfig CRYPTO_LIB_MLDSA_KUNIT_TEST 65ed894facSEric Biggers tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS 664478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MLDSA 676d80749bSEric Biggers default KUNIT_ALL_TESTS 68ed894facSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 69ed894facSEric Biggers help 70ed894facSEric Biggers KUnit tests for the ML-DSA digital signature algorithm. 71ed894facSEric Biggers 727246fe6cSEric Biggersconfig CRYPTO_LIB_NH_KUNIT_TEST 737246fe6cSEric Biggers tristate "KUnit tests for NH" if !KUNIT_ALL_TESTS 744478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_NH 756d80749bSEric Biggers default KUNIT_ALL_TESTS 767246fe6cSEric Biggers help 777246fe6cSEric Biggers KUnit tests for the NH almost-universal hash function. 787246fe6cSEric Biggers 796dd4d9f7SEric Biggersconfig CRYPTO_LIB_POLY1305_KUNIT_TEST 806dd4d9f7SEric Biggers tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS 814478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_POLY1305 826d80749bSEric Biggers default KUNIT_ALL_TESTS 836dd4d9f7SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 846dd4d9f7SEric Biggers help 856dd4d9f7SEric Biggers KUnit tests for the Poly1305 library functions. 866dd4d9f7SEric Biggers 87b3aed551SEric Biggersconfig CRYPTO_LIB_POLYVAL_KUNIT_TEST 88b3aed551SEric Biggers tristate "KUnit tests for POLYVAL" if !KUNIT_ALL_TESTS 8961f66c52SEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 906d80749bSEric Biggers default KUNIT_ALL_TESTS 91b3aed551SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 92b3aed551SEric Biggers help 93b3aed551SEric Biggers KUnit tests for the POLYVAL library functions. 94b3aed551SEric Biggers 9566b13060SEric Biggersconfig CRYPTO_LIB_SHA1_KUNIT_TEST 9666b13060SEric Biggers tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS 974478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA1 986d80749bSEric Biggers default KUNIT_ALL_TESTS 9966b13060SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 10066b13060SEric Biggers help 10166b13060SEric Biggers KUnit tests for the SHA-1 cryptographic hash function and its 10266b13060SEric Biggers corresponding HMAC. 10366b13060SEric Biggers 1044dcf6cadSEric Biggers# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are 1054dcf6cadSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256). 1064dcf6cadSEric Biggersconfig CRYPTO_LIB_SHA256_KUNIT_TEST 1074dcf6cadSEric Biggers tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS 1084478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA256 1096d80749bSEric Biggers default KUNIT_ALL_TESTS 1104dcf6cadSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 1114dcf6cadSEric Biggers help 1124dcf6cadSEric Biggers KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions 1134dcf6cadSEric Biggers and their corresponding HMACs. 1144dcf6cadSEric Biggers 115571eaeddSEric Biggers# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are 116571eaeddSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512). 117571eaeddSEric Biggersconfig CRYPTO_LIB_SHA512_KUNIT_TEST 118571eaeddSEric Biggers tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS 1194478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA512 1206d80749bSEric Biggers default KUNIT_ALL_TESTS 121571eaeddSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 122571eaeddSEric Biggers help 123571eaeddSEric Biggers KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions 124571eaeddSEric Biggers and their corresponding HMACs. 125571eaeddSEric Biggers 12615c64c47SDavid Howellsconfig CRYPTO_LIB_SHA3_KUNIT_TEST 12715c64c47SDavid Howells tristate "KUnit tests for SHA-3" if !KUNIT_ALL_TESTS 1284478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA3 1296d80749bSEric Biggers default KUNIT_ALL_TESTS 13015c64c47SDavid Howells select CRYPTO_LIB_BENCHMARK_VISIBLE 13115c64c47SDavid Howells help 13215c64c47SDavid Howells KUnit tests for the SHA3 cryptographic hash and XOF functions, 13315c64c47SDavid Howells including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and 13415c64c47SDavid Howells SHAKE256. 13515c64c47SDavid Howells 136d6781b8bSEric Biggersconfig CRYPTO_LIB_SM3_KUNIT_TEST 137d6781b8bSEric Biggers tristate "KUnit tests for SM3" if !KUNIT_ALL_TESTS 138d6781b8bSEric Biggers depends on KUNIT && CRYPTO_LIB_SM3 139d6781b8bSEric Biggers default KUNIT_ALL_TESTS 140d6781b8bSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 141d6781b8bSEric Biggers help 142d6781b8bSEric Biggers KUnit tests for the SM3 cryptographic hash function. 143d6781b8bSEric Biggers 144ed176744SEric Biggersconfig CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT 145ed176744SEric Biggers tristate "Enable all crypto library code for KUnit tests" 146ed176744SEric Biggers depends on KUNIT 1473cbcf6a2SEric Biggers select CRYPTO_LIB_AES_CBC 148ed176744SEric Biggers select CRYPTO_LIB_AES_CBC_MACS 1491f2d69a3SEric Biggers select CRYPTO_LIB_AES_CTR 1505ab301fcSEric Biggers select CRYPTO_LIB_AES_ECB 151*2a87486bSEric Biggers select CRYPTO_LIB_AES_GCM 152de9cccc5SEric Biggers select CRYPTO_LIB_AES_XTS 153ed176744SEric Biggers select CRYPTO_LIB_BLAKE2B 154d2a68abaSEric Biggers select CRYPTO_LIB_CHACHA20POLY1305 155ed176744SEric Biggers select CRYPTO_LIB_CURVE25519 15661f66c52SEric Biggers select CRYPTO_LIB_GF128HASH 157ed176744SEric Biggers select CRYPTO_LIB_MD5 158ed176744SEric Biggers select CRYPTO_LIB_MLDSA 159ed176744SEric Biggers select CRYPTO_LIB_NH 160ed176744SEric Biggers select CRYPTO_LIB_POLY1305 161ed176744SEric Biggers select CRYPTO_LIB_SHA1 162ed176744SEric Biggers select CRYPTO_LIB_SHA256 163ed176744SEric Biggers select CRYPTO_LIB_SHA512 164ed176744SEric Biggers select CRYPTO_LIB_SHA3 165d6781b8bSEric Biggers select CRYPTO_LIB_SM3 166ed176744SEric Biggers help 167ed176744SEric Biggers Enable all the crypto library code that has KUnit tests. 168ed176744SEric Biggers 169ed176744SEric Biggers Enable this only if you'd like to test all the crypto library code, 170ed176744SEric Biggers even code that wouldn't otherwise need to be built. 171ed176744SEric Biggers 172ed176744SEric Biggers You'll still need to enable the tests themselves, either individually 173ed176744SEric Biggers or using KUNIT_ALL_TESTS. 174ed176744SEric Biggers 1754dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK_VISIBLE 1764dcf6cadSEric Biggers bool 1774dcf6cadSEric Biggers 1784dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK 1794dcf6cadSEric Biggers bool "Include benchmarks in KUnit tests for cryptographic functions" 1804dcf6cadSEric Biggers depends on CRYPTO_LIB_BENCHMARK_VISIBLE 1814dcf6cadSEric Biggers help 1824dcf6cadSEric Biggers Include benchmarks in the KUnit tests for cryptographic functions. 1834dcf6cadSEric Biggers The benchmark results are printed to the kernel log when the 1844dcf6cadSEric Biggers corresponding KUnit test suite runs. 1854dcf6cadSEric Biggers 1864dcf6cadSEric Biggers This is useful for evaluating the performance of the cryptographic 1874dcf6cadSEric Biggers functions. However, it will increase the runtime of the KUnit tests. 1884dcf6cadSEric Biggers 1894dcf6cadSEric Biggers If you're only interested in correctness testing, leave this disabled. 190