xref: /linux/lib/crypto/tests/Kconfig (revision 6a42ff33f38d171a6bf8304f6323c43e8a0ed9b6)
1# SPDX-License-Identifier: GPL-2.0-or-later
2
3config CRYPTO_LIB_BLAKE2B_KUNIT_TEST
4	tristate "KUnit tests for BLAKE2b" if !KUNIT_ALL_TESTS
5	depends on KUNIT && CRYPTO_LIB_BLAKE2B
6	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
7	select CRYPTO_LIB_BENCHMARK_VISIBLE
8	help
9	  KUnit tests for the BLAKE2b cryptographic hash function.
10
11config CRYPTO_LIB_BLAKE2S_KUNIT_TEST
12	tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS
13	depends on KUNIT
14	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
15	select CRYPTO_LIB_BENCHMARK_VISIBLE
16	# No need to depend on CRYPTO_LIB_BLAKE2S here, as that option doesn't
17	# exist; the BLAKE2s code is always built-in for the /dev/random driver.
18	help
19	  KUnit tests for the BLAKE2s cryptographic hash function.
20
21config CRYPTO_LIB_CURVE25519_KUNIT_TEST
22	tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS
23	depends on KUNIT && CRYPTO_LIB_CURVE25519
24	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
25	select CRYPTO_LIB_BENCHMARK_VISIBLE
26	help
27	  KUnit tests for the Curve25519 Diffie-Hellman function.
28
29config CRYPTO_LIB_MD5_KUNIT_TEST
30	tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS
31	depends on KUNIT && CRYPTO_LIB_MD5
32	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
33	select CRYPTO_LIB_BENCHMARK_VISIBLE
34	help
35	  KUnit tests for the MD5 cryptographic hash function and its
36	  corresponding HMAC.
37
38config CRYPTO_LIB_MLDSA_KUNIT_TEST
39	tristate "KUnit tests for ML-DSA" if !KUNIT_ALL_TESTS
40	depends on KUNIT && CRYPTO_LIB_MLDSA
41	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
42	select CRYPTO_LIB_BENCHMARK_VISIBLE
43	help
44	  KUnit tests for the ML-DSA digital signature algorithm.
45
46config CRYPTO_LIB_NH_KUNIT_TEST
47	tristate "KUnit tests for NH" if !KUNIT_ALL_TESTS
48	depends on KUNIT && CRYPTO_LIB_NH
49	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
50	help
51	  KUnit tests for the NH almost-universal hash function.
52
53config CRYPTO_LIB_POLY1305_KUNIT_TEST
54	tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS
55	depends on KUNIT && CRYPTO_LIB_POLY1305
56	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
57	select CRYPTO_LIB_BENCHMARK_VISIBLE
58	help
59	  KUnit tests for the Poly1305 library functions.
60
61config CRYPTO_LIB_POLYVAL_KUNIT_TEST
62	tristate "KUnit tests for POLYVAL" if !KUNIT_ALL_TESTS
63	depends on KUNIT && CRYPTO_LIB_POLYVAL
64	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
65	select CRYPTO_LIB_BENCHMARK_VISIBLE
66	help
67	  KUnit tests for the POLYVAL library functions.
68
69config CRYPTO_LIB_SHA1_KUNIT_TEST
70	tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS
71	depends on KUNIT && CRYPTO_LIB_SHA1
72	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
73	select CRYPTO_LIB_BENCHMARK_VISIBLE
74	help
75	  KUnit tests for the SHA-1 cryptographic hash function and its
76	  corresponding HMAC.
77
78# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are
79# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256).
80config CRYPTO_LIB_SHA256_KUNIT_TEST
81	tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS
82	depends on KUNIT && CRYPTO_LIB_SHA256
83	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
84	select CRYPTO_LIB_BENCHMARK_VISIBLE
85	help
86	  KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions
87	  and their corresponding HMACs.
88
89# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are
90# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512).
91config CRYPTO_LIB_SHA512_KUNIT_TEST
92	tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS
93	depends on KUNIT && CRYPTO_LIB_SHA512
94	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
95	select CRYPTO_LIB_BENCHMARK_VISIBLE
96	help
97	  KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions
98	  and their corresponding HMACs.
99
100config CRYPTO_LIB_SHA3_KUNIT_TEST
101	tristate "KUnit tests for SHA-3" if !KUNIT_ALL_TESTS
102	depends on KUNIT && CRYPTO_LIB_SHA3
103	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
104	select CRYPTO_LIB_BENCHMARK_VISIBLE
105	help
106	  KUnit tests for the SHA3 cryptographic hash and XOF functions,
107	  including SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and
108	  SHAKE256.
109
110config CRYPTO_LIB_BENCHMARK_VISIBLE
111	bool
112
113config CRYPTO_LIB_BENCHMARK
114	bool "Include benchmarks in KUnit tests for cryptographic functions"
115	depends on CRYPTO_LIB_BENCHMARK_VISIBLE
116	help
117	  Include benchmarks in the KUnit tests for cryptographic functions.
118	  The benchmark results are printed to the kernel log when the
119	  corresponding KUnit test suite runs.
120
121	  This is useful for evaluating the performance of the cryptographic
122	  functions.  However, it will increase the runtime of the KUnit tests.
123
124	  If you're only interested in correctness testing, leave this disabled.
125