xref: /linux/lib/crypto/tests/Kconfig (revision d8768fb12a14c30436bd0466b4fc28edeef45078)
14dcf6cadSEric Biggers# SPDX-License-Identifier: GPL-2.0-or-later
24dcf6cadSEric Biggers
3362f9228SEric Biggersconfig CRYPTO_LIB_BLAKE2S_KUNIT_TEST
4362f9228SEric Biggers	tristate "KUnit tests for BLAKE2s" if !KUNIT_ALL_TESTS
5362f9228SEric Biggers	depends on KUNIT
6362f9228SEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
7362f9228SEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
8362f9228SEric Biggers	# No need to select CRYPTO_LIB_BLAKE2S here, as that option doesn't
9362f9228SEric Biggers	# exist; the BLAKE2s code is always built-in for the /dev/random driver.
10362f9228SEric Biggers	help
11362f9228SEric Biggers	  KUnit tests for the BLAKE2s cryptographic hash function.
12362f9228SEric Biggers
13afc4e4a5SEric Biggersconfig CRYPTO_LIB_CURVE25519_KUNIT_TEST
14afc4e4a5SEric Biggers	tristate "KUnit tests for Curve25519" if !KUNIT_ALL_TESTS
15afc4e4a5SEric Biggers	depends on KUNIT
16*cb2d6b13SEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
17afc4e4a5SEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
18afc4e4a5SEric Biggers	select CRYPTO_LIB_CURVE25519
19afc4e4a5SEric Biggers	help
20afc4e4a5SEric Biggers	  KUnit tests for the Curve25519 Diffie-Hellman function.
21afc4e4a5SEric Biggers
22d6b6aac0SEric Biggersconfig CRYPTO_LIB_MD5_KUNIT_TEST
23d6b6aac0SEric Biggers	tristate "KUnit tests for MD5" if !KUNIT_ALL_TESTS
24d6b6aac0SEric Biggers	depends on KUNIT
25d6b6aac0SEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
26d6b6aac0SEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
27d6b6aac0SEric Biggers	select CRYPTO_LIB_MD5
28d6b6aac0SEric Biggers	help
29d6b6aac0SEric Biggers	  KUnit tests for the MD5 cryptographic hash function and its
30d6b6aac0SEric Biggers	  corresponding HMAC.
31d6b6aac0SEric Biggers
326dd4d9f7SEric Biggersconfig CRYPTO_LIB_POLY1305_KUNIT_TEST
336dd4d9f7SEric Biggers	tristate "KUnit tests for Poly1305" if !KUNIT_ALL_TESTS
346dd4d9f7SEric Biggers	depends on KUNIT
356dd4d9f7SEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
366dd4d9f7SEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
376dd4d9f7SEric Biggers	select CRYPTO_LIB_POLY1305
386dd4d9f7SEric Biggers	help
396dd4d9f7SEric Biggers	  KUnit tests for the Poly1305 library functions.
406dd4d9f7SEric Biggers
4166b13060SEric Biggersconfig CRYPTO_LIB_SHA1_KUNIT_TEST
4266b13060SEric Biggers	tristate "KUnit tests for SHA-1" if !KUNIT_ALL_TESTS
4366b13060SEric Biggers	depends on KUNIT
4466b13060SEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
4566b13060SEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
4666b13060SEric Biggers	select CRYPTO_LIB_SHA1
4766b13060SEric Biggers	help
4866b13060SEric Biggers	  KUnit tests for the SHA-1 cryptographic hash function and its
4966b13060SEric Biggers	  corresponding HMAC.
5066b13060SEric Biggers
514dcf6cadSEric Biggers# Option is named *_SHA256_KUNIT_TEST, though both SHA-224 and SHA-256 tests are
524dcf6cadSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA256).
534dcf6cadSEric Biggersconfig CRYPTO_LIB_SHA256_KUNIT_TEST
544dcf6cadSEric Biggers	tristate "KUnit tests for SHA-224 and SHA-256" if !KUNIT_ALL_TESTS
554dcf6cadSEric Biggers	depends on KUNIT
564dcf6cadSEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
574dcf6cadSEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
584dcf6cadSEric Biggers	select CRYPTO_LIB_SHA256
594dcf6cadSEric Biggers	help
604dcf6cadSEric Biggers	  KUnit tests for the SHA-224 and SHA-256 cryptographic hash functions
614dcf6cadSEric Biggers	  and their corresponding HMACs.
624dcf6cadSEric Biggers
63571eaeddSEric Biggers# Option is named *_SHA512_KUNIT_TEST, though both SHA-384 and SHA-512 tests are
64571eaeddSEric Biggers# included, for consistency with the naming used elsewhere (e.g. CRYPTO_SHA512).
65571eaeddSEric Biggersconfig CRYPTO_LIB_SHA512_KUNIT_TEST
66571eaeddSEric Biggers	tristate "KUnit tests for SHA-384 and SHA-512" if !KUNIT_ALL_TESTS
67571eaeddSEric Biggers	depends on KUNIT
68571eaeddSEric Biggers	default KUNIT_ALL_TESTS || CRYPTO_SELFTESTS
69571eaeddSEric Biggers	select CRYPTO_LIB_BENCHMARK_VISIBLE
70571eaeddSEric Biggers	select CRYPTO_LIB_SHA512
71571eaeddSEric Biggers	help
72571eaeddSEric Biggers	  KUnit tests for the SHA-384 and SHA-512 cryptographic hash functions
73571eaeddSEric Biggers	  and their corresponding HMACs.
74571eaeddSEric Biggers
754dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK_VISIBLE
764dcf6cadSEric Biggers	bool
774dcf6cadSEric Biggers
784dcf6cadSEric Biggersconfig CRYPTO_LIB_BENCHMARK
794dcf6cadSEric Biggers	bool "Include benchmarks in KUnit tests for cryptographic functions"
804dcf6cadSEric Biggers	depends on CRYPTO_LIB_BENCHMARK_VISIBLE
814dcf6cadSEric Biggers	help
824dcf6cadSEric Biggers	  Include benchmarks in the KUnit tests for cryptographic functions.
834dcf6cadSEric Biggers	  The benchmark results are printed to the kernel log when the
844dcf6cadSEric Biggers	  corresponding KUnit test suite runs.
854dcf6cadSEric Biggers
864dcf6cadSEric Biggers	  This is useful for evaluating the performance of the cryptographic
874dcf6cadSEric Biggers	  functions.  However, it will increase the runtime of the KUnit tests.
884dcf6cadSEric Biggers
894dcf6cadSEric Biggers	  If you're only interested in correctness testing, leave this disabled.
90