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 12*2aeef50eSEric Biggersconfig CRYPTO_LIB_AES_CCM_KUNIT_TEST 13*2aeef50eSEric Biggers tristate "KUnit tests for AES-CCM" if !KUNIT_ALL_TESTS 14*2aeef50eSEric Biggers depends on KUNIT && CRYPTO_LIB_AES_CCM 15*2aeef50eSEric Biggers default KUNIT_ALL_TESTS 16*2aeef50eSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 17*2aeef50eSEric Biggers # This test uses BLAKE2s, but that's always built-in. 18*2aeef50eSEric Biggers help 19*2aeef50eSEric Biggers KUnit tests for the AES-CCM authenticated encryption algorithm. 20*2aeef50eSEric Biggers 216401fd33SEric Biggersconfig CRYPTO_LIB_BLAKE2B_KUNIT_TEST 226401fd33SEric Biggers tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS 234478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_BLAKE2B 246d80749bSEric Biggers default KUNIT_ALL_TESTS 256401fd33SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 266401fd33SEric Biggers help 276401fd33SEric Biggers KUnit tests for the BLAKE2b cryptographic hash function. 286401fd33SEric Biggers 29362f9228SEric Biggersconfig CRYPTO_LIB_BLAKE2S_KUNIT_TEST 30362f9228SEric Biggers tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS 31362f9228SEric Biggers depends on KUNIT 326d80749bSEric Biggers default KUNIT_ALL_TESTS 33362f9228SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 344478e8eeSEric Biggers # No need to depend on CRYPTO_LIB_BLAKE2S here, as that option doesn't 35362f9228SEric Biggers # exist; the BLAKE2s code is always built-in for the /dev/random driver. 36362f9228SEric Biggers help 37362f9228SEric Biggers KUnit tests for the BLAKE2s cryptographic hash function. 38362f9228SEric Biggers 39d2a68abaSEric Biggersconfig CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST 40d2a68abaSEric Biggers tristate "KUnit tests for ChaCha20Poly1305" if !KUNIT_ALL_TESTS 41d2a68abaSEric Biggers depends on KUNIT && CRYPTO_LIB_CHACHA20POLY1305 42d2a68abaSEric Biggers default KUNIT_ALL_TESTS 43d2a68abaSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 44d2a68abaSEric Biggers help 45d2a68abaSEric Biggers KUnit tests for the ChaCha20Poly1305 authenticated encryption 46d2a68abaSEric Biggers algorithm. 47d2a68abaSEric Biggers 48afc4e4a5SEric Biggersconfig CRYPTO_LIB_CURVE25519_KUNIT_TEST 49afc4e4a5SEric Biggers tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS 504478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_CURVE25519 516d80749bSEric Biggers default KUNIT_ALL_TESTS 52afc4e4a5SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 53afc4e4a5SEric Biggers help 54afc4e4a5SEric Biggers KUnit tests for the Curve25519 Diffie-Hellman function. 55afc4e4a5SEric Biggers 5675e34befSEric Biggersconfig CRYPTO_LIB_GHASH_KUNIT_TEST 5775e34befSEric Biggers tristate "KUnit tests for GHASH" if !KUNIT_ALL_TESTS 5875e34befSEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 5975e34befSEric Biggers default KUNIT_ALL_TESTS 6075e34befSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 6175e34befSEric Biggers help 6275e34befSEric Biggers KUnit tests for the GHASH library functions. 6375e34befSEric Biggers 64d6b6aac0SEric Biggersconfig CRYPTO_LIB_MD5_KUNIT_TEST 65d6b6aac0SEric Biggers tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS 664478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MD5 676d80749bSEric Biggers default KUNIT_ALL_TESTS 68d6b6aac0SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 69d6b6aac0SEric Biggers help 70d6b6aac0SEric Biggers KUnit tests for the MD5 cryptographic hash function and its 71d6b6aac0SEric Biggers corresponding HMAC. 72d6b6aac0SEric Biggers 73ed894facSEric Biggersconfig CRYPTO_LIB_MLDSA_KUNIT_TEST 74ed894facSEric Biggers tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS 754478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MLDSA 766d80749bSEric Biggers default KUNIT_ALL_TESTS 77ed894facSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 78ed894facSEric Biggers help 79ed894facSEric Biggers KUnit tests for the ML-DSA digital signature algorithm. 80ed894facSEric Biggers 817246fe6cSEric Biggersconfig CRYPTO_LIB_NH_KUNIT_TEST 827246fe6cSEric Biggers tristate "KUnit tests for NH" if !KUNIT_ALL_TESTS 834478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_NH 846d80749bSEric Biggers default KUNIT_ALL_TESTS 857246fe6cSEric Biggers help 867246fe6cSEric Biggers KUnit tests for the NH almost-universal hash function. 877246fe6cSEric Biggers 886dd4d9f7SEric Biggersconfig CRYPTO_LIB_POLY1305_KUNIT_TEST 896dd4d9f7SEric Biggers tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS 904478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_POLY1305 916d80749bSEric Biggers default KUNIT_ALL_TESTS 926dd4d9f7SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 936dd4d9f7SEric Biggers help 946dd4d9f7SEric Biggers KUnit tests for the Poly1305 library functions. 956dd4d9f7SEric Biggers 96b3aed551SEric Biggersconfig CRYPTO_LIB_POLYVAL_KUNIT_TEST 97b3aed551SEric Biggers tristate "KUnit tests for POLYVAL" if !KUNIT_ALL_TESTS 9861f66c52SEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 996d80749bSEric Biggers default KUNIT_ALL_TESTS 100b3aed551SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 101b3aed551SEric Biggers help 102b3aed551SEric Biggers KUnit tests for the POLYVAL library functions. 103b3aed551SEric Biggers 10466b13060SEric Biggersconfig CRYPTO_LIB_SHA1_KUNIT_TEST 10566b13060SEric Biggers tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS 1064478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA1 1076d80749bSEric Biggers default KUNIT_ALL_TESTS 10866b13060SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 10966b13060SEric Biggers help 11066b13060SEric Biggers KUnit tests for the SHA-1 cryptographic hash function and its 11166b13060SEric Biggers corresponding HMAC. 11266b13060SEric Biggers 1134dcf6cadSEric Biggers# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are 1144dcf6cadSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256). 1154dcf6cadSEric Biggersconfig CRYPTO_LIB_SHA256_KUNIT_TEST 1164dcf6cadSEric Biggers tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS 1174478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA256 1186d80749bSEric Biggers default KUNIT_ALL_TESTS 1194dcf6cadSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 1204dcf6cadSEric Biggers help 1214dcf6cadSEric Biggers KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions 1224dcf6cadSEric Biggers and their corresponding HMACs. 1234dcf6cadSEric Biggers 124571eaeddSEric Biggers# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are 125571eaeddSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512). 126571eaeddSEric Biggersconfig CRYPTO_LIB_SHA512_KUNIT_TEST 127571eaeddSEric Biggers tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS 1284478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA512 1296d80749bSEric Biggers default KUNIT_ALL_TESTS 130571eaeddSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 131571eaeddSEric Biggers help 132571eaeddSEric Biggers KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions 133571eaeddSEric Biggers and their corresponding HMACs. 134571eaeddSEric Biggers 13515c64c47SDavid Howellsconfig CRYPTO_LIB_SHA3_KUNIT_TEST 13615c64c47SDavid Howells tristate "KUnit tests for SHA-3" if !KUNIT_ALL_TESTS 1374478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA3 1386d80749bSEric Biggers default KUNIT_ALL_TESTS 13915c64c47SDavid Howells select CRYPTO_LIB_BENCHMARK_VISIBLE 14015c64c47SDavid Howells help 14115c64c47SDavid Howells KUnit tests for the SHA3 cryptographic hash and XOF functions, 14215c64c47SDavid Howells including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and 14315c64c47SDavid Howells SHAKE256. 14415c64c47SDavid Howells 145d6781b8bSEric Biggersconfig CRYPTO_LIB_SM3_KUNIT_TEST 146d6781b8bSEric Biggers tristate "KUnit tests for SM3" if !KUNIT_ALL_TESTS 147d6781b8bSEric Biggers depends on KUNIT && CRYPTO_LIB_SM3 148d6781b8bSEric Biggers default KUNIT_ALL_TESTS 149d6781b8bSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 150d6781b8bSEric Biggers help 151d6781b8bSEric Biggers KUnit tests for the SM3 cryptographic hash function. 152d6781b8bSEric Biggers 153ed176744SEric Biggersconfig CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT 154ed176744SEric Biggers tristate "Enable all crypto library code for KUnit tests" 155ed176744SEric Biggers depends on KUNIT 1563cbcf6a2SEric Biggers select CRYPTO_LIB_AES_CBC 157ed176744SEric Biggers select CRYPTO_LIB_AES_CBC_MACS 1586a1f9969SEric Biggers select CRYPTO_LIB_AES_CCM 1591f2d69a3SEric Biggers select CRYPTO_LIB_AES_CTR 1605ab301fcSEric Biggers select CRYPTO_LIB_AES_ECB 1612a87486bSEric Biggers select CRYPTO_LIB_AES_GCM 162de9cccc5SEric Biggers select CRYPTO_LIB_AES_XTS 163ed176744SEric Biggers select CRYPTO_LIB_BLAKE2B 164d2a68abaSEric Biggers select CRYPTO_LIB_CHACHA20POLY1305 165ed176744SEric Biggers select CRYPTO_LIB_CURVE25519 16661f66c52SEric Biggers select CRYPTO_LIB_GF128HASH 167ed176744SEric Biggers select CRYPTO_LIB_MD5 168ed176744SEric Biggers select CRYPTO_LIB_MLDSA 169ed176744SEric Biggers select CRYPTO_LIB_NH 170ed176744SEric Biggers select CRYPTO_LIB_POLY1305 171ed176744SEric Biggers select CRYPTO_LIB_SHA1 172ed176744SEric Biggers select CRYPTO_LIB_SHA256 173ed176744SEric Biggers select CRYPTO_LIB_SHA512 174ed176744SEric Biggers select CRYPTO_LIB_SHA3 175d6781b8bSEric Biggers select CRYPTO_LIB_SM3 176ed176744SEric Biggers help 177ed176744SEric Biggers Enable all the crypto library code that has KUnit tests. 178ed176744SEric Biggers 179ed176744SEric Biggers Enable this only if you'd like to test all the crypto library code, 180ed176744SEric Biggers even code that wouldn't otherwise need to be built. 181ed176744SEric Biggers 182ed176744SEric Biggers You'll still need to enable the tests themselves, either individually 183ed176744SEric Biggers or using KUNIT_ALL_TESTS. 184ed176744SEric Biggers 1854dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK_VISIBLE 1864dcf6cadSEric Biggers bool 1874dcf6cadSEric Biggers 1884dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK 1894dcf6cadSEric Biggers bool "Include benchmarks in KUnit tests for cryptographic functions" 1904dcf6cadSEric Biggers depends on CRYPTO_LIB_BENCHMARK_VISIBLE 1914dcf6cadSEric Biggers help 1924dcf6cadSEric Biggers Include benchmarks in the KUnit tests for cryptographic functions. 1934dcf6cadSEric Biggers The benchmark results are printed to the kernel log when the 1944dcf6cadSEric Biggers corresponding KUnit test suite runs. 1954dcf6cadSEric Biggers 1964dcf6cadSEric Biggers This is useful for evaluating the performance of the cryptographic 1974dcf6cadSEric Biggers functions. However, it will increase the runtime of the KUnit tests. 1984dcf6cadSEric Biggers 1994dcf6cadSEric Biggers If you're only interested in correctness testing, leave this disabled. 200