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 122aeef50eSEric Biggersconfig CRYPTO_LIB_AES_CCM_KUNIT_TEST 132aeef50eSEric Biggers tristate "KUnit tests for AES-CCM" if !KUNIT_ALL_TESTS 142aeef50eSEric Biggers depends on KUNIT && CRYPTO_LIB_AES_CCM 152aeef50eSEric Biggers default KUNIT_ALL_TESTS 162aeef50eSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 172aeef50eSEric Biggers # This test uses BLAKE2s, but that's always built-in. 182aeef50eSEric Biggers help 192aeef50eSEric Biggers KUnit tests for the AES-CCM authenticated encryption algorithm. 202aeef50eSEric Biggers 21*b09bd2d9SEric Biggersconfig CRYPTO_LIB_AES_GCM_KUNIT_TEST 22*b09bd2d9SEric Biggers tristate "KUnit tests for AES-GCM" if !KUNIT_ALL_TESTS 23*b09bd2d9SEric Biggers depends on KUNIT && CRYPTO_LIB_AES_GCM 24*b09bd2d9SEric Biggers default KUNIT_ALL_TESTS 25*b09bd2d9SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 26*b09bd2d9SEric Biggers # This test uses BLAKE2s, but that's always built-in. 27*b09bd2d9SEric Biggers help 28*b09bd2d9SEric Biggers KUnit tests for the AES-GCM authenticated encryption algorithm. 29*b09bd2d9SEric Biggers 306401fd33SEric Biggersconfig CRYPTO_LIB_BLAKE2B_KUNIT_TEST 316401fd33SEric Biggers tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS 324478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_BLAKE2B 336d80749bSEric Biggers default KUNIT_ALL_TESTS 346401fd33SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 356401fd33SEric Biggers help 366401fd33SEric Biggers KUnit tests for the BLAKE2b cryptographic hash function. 376401fd33SEric Biggers 38362f9228SEric Biggersconfig CRYPTO_LIB_BLAKE2S_KUNIT_TEST 39362f9228SEric Biggers tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS 40362f9228SEric Biggers depends on KUNIT 416d80749bSEric Biggers default KUNIT_ALL_TESTS 42362f9228SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 434478e8eeSEric Biggers # No need to depend on CRYPTO_LIB_BLAKE2S here, as that option doesn't 44362f9228SEric Biggers # exist; the BLAKE2s code is always built-in for the /dev/random driver. 45362f9228SEric Biggers help 46362f9228SEric Biggers KUnit tests for the BLAKE2s cryptographic hash function. 47362f9228SEric Biggers 48d2a68abaSEric Biggersconfig CRYPTO_LIB_CHACHA20POLY1305_KUNIT_TEST 49d2a68abaSEric Biggers tristate "KUnit tests for ChaCha20Poly1305" if !KUNIT_ALL_TESTS 50d2a68abaSEric Biggers depends on KUNIT && CRYPTO_LIB_CHACHA20POLY1305 51d2a68abaSEric Biggers default KUNIT_ALL_TESTS 52d2a68abaSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 53d2a68abaSEric Biggers help 54d2a68abaSEric Biggers KUnit tests for the ChaCha20Poly1305 authenticated encryption 55d2a68abaSEric Biggers algorithm. 56d2a68abaSEric Biggers 57afc4e4a5SEric Biggersconfig CRYPTO_LIB_CURVE25519_KUNIT_TEST 58afc4e4a5SEric Biggers tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS 594478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_CURVE25519 606d80749bSEric Biggers default KUNIT_ALL_TESTS 61afc4e4a5SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 62afc4e4a5SEric Biggers help 63afc4e4a5SEric Biggers KUnit tests for the Curve25519 Diffie-Hellman function. 64afc4e4a5SEric Biggers 6575e34befSEric Biggersconfig CRYPTO_LIB_GHASH_KUNIT_TEST 6675e34befSEric Biggers tristate "KUnit tests for GHASH" if !KUNIT_ALL_TESTS 6775e34befSEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 6875e34befSEric Biggers default KUNIT_ALL_TESTS 6975e34befSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 7075e34befSEric Biggers help 7175e34befSEric Biggers KUnit tests for the GHASH library functions. 7275e34befSEric Biggers 73d6b6aac0SEric Biggersconfig CRYPTO_LIB_MD5_KUNIT_TEST 74d6b6aac0SEric Biggers tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS 754478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MD5 766d80749bSEric Biggers default KUNIT_ALL_TESTS 77d6b6aac0SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 78d6b6aac0SEric Biggers help 79d6b6aac0SEric Biggers KUnit tests for the MD5 cryptographic hash function and its 80d6b6aac0SEric Biggers corresponding HMAC. 81d6b6aac0SEric Biggers 82ed894facSEric Biggersconfig CRYPTO_LIB_MLDSA_KUNIT_TEST 83ed894facSEric Biggers tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS 844478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_MLDSA 856d80749bSEric Biggers default KUNIT_ALL_TESTS 86ed894facSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 87ed894facSEric Biggers help 88ed894facSEric Biggers KUnit tests for the ML-DSA digital signature algorithm. 89ed894facSEric Biggers 907246fe6cSEric Biggersconfig CRYPTO_LIB_NH_KUNIT_TEST 917246fe6cSEric Biggers tristate "KUnit tests for NH" if !KUNIT_ALL_TESTS 924478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_NH 936d80749bSEric Biggers default KUNIT_ALL_TESTS 947246fe6cSEric Biggers help 957246fe6cSEric Biggers KUnit tests for the NH almost-universal hash function. 967246fe6cSEric Biggers 976dd4d9f7SEric Biggersconfig CRYPTO_LIB_POLY1305_KUNIT_TEST 986dd4d9f7SEric Biggers tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS 994478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_POLY1305 1006d80749bSEric Biggers default KUNIT_ALL_TESTS 1016dd4d9f7SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 1026dd4d9f7SEric Biggers help 1036dd4d9f7SEric Biggers KUnit tests for the Poly1305 library functions. 1046dd4d9f7SEric Biggers 105b3aed551SEric Biggersconfig CRYPTO_LIB_POLYVAL_KUNIT_TEST 106b3aed551SEric Biggers tristate "KUnit tests for POLYVAL" if !KUNIT_ALL_TESTS 10761f66c52SEric Biggers depends on KUNIT && CRYPTO_LIB_GF128HASH 1086d80749bSEric Biggers default KUNIT_ALL_TESTS 109b3aed551SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 110b3aed551SEric Biggers help 111b3aed551SEric Biggers KUnit tests for the POLYVAL library functions. 112b3aed551SEric Biggers 11366b13060SEric Biggersconfig CRYPTO_LIB_SHA1_KUNIT_TEST 11466b13060SEric Biggers tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS 1154478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA1 1166d80749bSEric Biggers default KUNIT_ALL_TESTS 11766b13060SEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 11866b13060SEric Biggers help 11966b13060SEric Biggers KUnit tests for the SHA-1 cryptographic hash function and its 12066b13060SEric Biggers corresponding HMAC. 12166b13060SEric Biggers 1224dcf6cadSEric Biggers# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are 1234dcf6cadSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256). 1244dcf6cadSEric Biggersconfig CRYPTO_LIB_SHA256_KUNIT_TEST 1254dcf6cadSEric Biggers tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS 1264478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA256 1276d80749bSEric Biggers default KUNIT_ALL_TESTS 1284dcf6cadSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 1294dcf6cadSEric Biggers help 1304dcf6cadSEric Biggers KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions 1314dcf6cadSEric Biggers and their corresponding HMACs. 1324dcf6cadSEric Biggers 133571eaeddSEric Biggers# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are 134571eaeddSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512). 135571eaeddSEric Biggersconfig CRYPTO_LIB_SHA512_KUNIT_TEST 136571eaeddSEric Biggers tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS 1374478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA512 1386d80749bSEric Biggers default KUNIT_ALL_TESTS 139571eaeddSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 140571eaeddSEric Biggers help 141571eaeddSEric Biggers KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions 142571eaeddSEric Biggers and their corresponding HMACs. 143571eaeddSEric Biggers 14415c64c47SDavid Howellsconfig CRYPTO_LIB_SHA3_KUNIT_TEST 14515c64c47SDavid Howells tristate "KUnit tests for SHA-3" if !KUNIT_ALL_TESTS 1464478e8eeSEric Biggers depends on KUNIT && CRYPTO_LIB_SHA3 1476d80749bSEric Biggers default KUNIT_ALL_TESTS 14815c64c47SDavid Howells select CRYPTO_LIB_BENCHMARK_VISIBLE 14915c64c47SDavid Howells help 15015c64c47SDavid Howells KUnit tests for the SHA3 cryptographic hash and XOF functions, 15115c64c47SDavid Howells including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and 15215c64c47SDavid Howells SHAKE256. 15315c64c47SDavid Howells 154d6781b8bSEric Biggersconfig CRYPTO_LIB_SM3_KUNIT_TEST 155d6781b8bSEric Biggers tristate "KUnit tests for SM3" if !KUNIT_ALL_TESTS 156d6781b8bSEric Biggers depends on KUNIT && CRYPTO_LIB_SM3 157d6781b8bSEric Biggers default KUNIT_ALL_TESTS 158d6781b8bSEric Biggers select CRYPTO_LIB_BENCHMARK_VISIBLE 159d6781b8bSEric Biggers help 160d6781b8bSEric Biggers KUnit tests for the SM3 cryptographic hash function. 161d6781b8bSEric Biggers 162ed176744SEric Biggersconfig CRYPTO_LIB_ENABLE_ALL_FOR_KUNIT 163ed176744SEric Biggers tristate "Enable all crypto library code for KUnit tests" 164ed176744SEric Biggers depends on KUNIT 1653cbcf6a2SEric Biggers select CRYPTO_LIB_AES_CBC 166ed176744SEric Biggers select CRYPTO_LIB_AES_CBC_MACS 1676a1f9969SEric Biggers select CRYPTO_LIB_AES_CCM 1681f2d69a3SEric Biggers select CRYPTO_LIB_AES_CTR 1695ab301fcSEric Biggers select CRYPTO_LIB_AES_ECB 1702a87486bSEric Biggers select CRYPTO_LIB_AES_GCM 171de9cccc5SEric Biggers select CRYPTO_LIB_AES_XTS 172ed176744SEric Biggers select CRYPTO_LIB_BLAKE2B 173d2a68abaSEric Biggers select CRYPTO_LIB_CHACHA20POLY1305 174ed176744SEric Biggers select CRYPTO_LIB_CURVE25519 17561f66c52SEric Biggers select CRYPTO_LIB_GF128HASH 176ed176744SEric Biggers select CRYPTO_LIB_MD5 177ed176744SEric Biggers select CRYPTO_LIB_MLDSA 178ed176744SEric Biggers select CRYPTO_LIB_NH 179ed176744SEric Biggers select CRYPTO_LIB_POLY1305 180ed176744SEric Biggers select CRYPTO_LIB_SHA1 181ed176744SEric Biggers select CRYPTO_LIB_SHA256 182ed176744SEric Biggers select CRYPTO_LIB_SHA512 183ed176744SEric Biggers select CRYPTO_LIB_SHA3 184d6781b8bSEric Biggers select CRYPTO_LIB_SM3 185ed176744SEric Biggers help 186ed176744SEric Biggers Enable all the crypto library code that has KUnit tests. 187ed176744SEric Biggers 188ed176744SEric Biggers Enable this only if you'd like to test all the crypto library code, 189ed176744SEric Biggers even code that wouldn't otherwise need to be built. 190ed176744SEric Biggers 191ed176744SEric Biggers You'll still need to enable the tests themselves, either individually 192ed176744SEric Biggers or using KUNIT_ALL_TESTS. 193ed176744SEric Biggers 1944dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK_VISIBLE 1954dcf6cadSEric Biggers bool 1964dcf6cadSEric Biggers 1974dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK 1984dcf6cadSEric Biggers bool "Include benchmarks in KUnit tests for cryptographic functions" 1994dcf6cadSEric Biggers depends on CRYPTO_LIB_BENCHMARK_VISIBLE 2004dcf6cadSEric Biggers help 2014dcf6cadSEric Biggers Include benchmarks in the KUnit tests for cryptographic functions. 2024dcf6cadSEric Biggers The benchmark results are printed to the kernel log when the 2034dcf6cadSEric Biggers corresponding KUnit test suite runs. 2044dcf6cadSEric Biggers 2054dcf6cadSEric Biggers This is useful for evaluating the performance of the cryptographic 2064dcf6cadSEric Biggers functions. However, it will increase the runtime of the KUnit tests. 2074dcf6cadSEric Biggers 2084dcf6cadSEric Biggers If you're only interested in correctness testing, leave this disabled. 209