linux/lib/crypto
Linus Torvalds f2f573ebd4 Crypto library tests for 6.17
Add KUnit test suites for the Poly1305, SHA-1, SHA-224, SHA-256,
 SHA-384, and SHA-512 library functions.
 
 These are the first KUnit tests for lib/crypto/. So in addition to
 being useful tests for these specific algorithms, they also establish
 some conventions for lib/crypto/ testing going forwards.
 
 The new tests are fairly comprehensive: more comprehensive than the
 generic crypto infrastructure's tests. They use a variety of
 techniques to check for the types of implementation bugs that tend to
 occur in the real world, rather than just naively checking some test
 vectors. (Interestingly, poly1305_kunit found a bug in QEMU.)
 
 The core test logic is shared by all six algorithms, rather than being
 duplicated for each algorithm.
 
 Each algorithm's test suite also optionally includes a benchmark.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCaIZ+WhQcZWJpZ2dlcnNA
 a2VybmVsLm9yZwAKCRDzXCl4vpKOK+C4AQCOi7iOlFLouUfu9klrovp3i/iSMhyQ
 gUEHPGSelBy4wQD+NnrLGIdpCcaDAzyWpT4TxG6esN2/97ewh4VUa2MDuQQ=
 =rS0F
 -----END PGP SIGNATURE-----

Merge tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull crypto library test updates from Eric Biggers:
 "Add KUnit test suites for the Poly1305, SHA-1, SHA-224, SHA-256,
  SHA-384, and SHA-512 library functions.

  These are the first KUnit tests for lib/crypto/. So in addition to
  being useful tests for these specific algorithms, they also establish
  some conventions for lib/crypto/ testing going forwards.

  The new tests are fairly comprehensive: more comprehensive than the
  generic crypto infrastructure's tests. They use a variety of
  techniques to check for the types of implementation bugs that tend to
  occur in the real world, rather than just naively checking some test
  vectors. (Interestingly, poly1305_kunit found a bug in QEMU)

  The core test logic is shared by all six algorithms, rather than being
  duplicated for each algorithm.

  Each algorithm's test suite also optionally includes a benchmark"

* tag 'libcrypto-tests-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
  lib/crypto: tests: Annotate worker to be on stack
  lib/crypto: tests: Add KUnit tests for SHA-1 and HMAC-SHA1
  lib/crypto: tests: Add KUnit tests for Poly1305
  lib/crypto: tests: Add KUnit tests for SHA-384 and SHA-512
  lib/crypto: tests: Add KUnit tests for SHA-224 and SHA-256
  lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py
2025-07-28 18:02:58 -07:00
..
arm lib/crypto: arm/sha1: Migrate optimized code into library 2025-07-14 11:11:29 -07:00
arm64 lib/crypto: arm64/sha512-ce: Drop compatibility macros for older binutils 2025-07-20 21:43:27 -07:00
mips lib/crypto: mips/sha1: Migrate optimized code into library 2025-07-14 11:11:49 -07:00
mpi lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
powerpc lib/crypto: powerpc/sha1: Migrate optimized code into library 2025-07-14 11:11:49 -07:00
riscv lib/crypto: sha256: Consolidate into single module 2025-07-04 10:23:11 -07:00
s390 lib/crypto: s390/sha1: Migrate optimized code into library 2025-07-14 11:11:49 -07:00
sparc lib/crypto: sparc/sha1: Migrate optimized code into library 2025-07-14 11:11:49 -07:00
tests lib/crypto: tests: Annotate worker to be on stack 2025-07-21 20:10:36 -07:00
x86 lib/crypto: x86/sha1-ni: Convert to use rounds macros 2025-07-20 21:42:42 -07:00
aes.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
aescfb.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
aesgcm.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
arc4.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
blake2s-generic.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
blake2s-selftest.c crypto: lib/blake2s - Split up test function to halve stack usage 2022-12-30 22:56:27 +08:00
blake2s.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
chacha.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
chacha20poly1305-selftest.c crypto: lib/chacha - strongly type the ChaCha state 2025-05-12 13:32:53 +08:00
chacha20poly1305.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
curve25519-fiat32.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-generic.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
curve25519-hacl64.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
curve25519-selftest.c crypto: lib/curve25519 - re-add selftests 2019-12-27 18:18:03 +08:00
curve25519.c crypto: testmgr - replace CRYPTO_MANAGER_DISABLE_TESTS with CRYPTO_SELFTESTS 2025-05-12 13:33:14 +08:00
des.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
gf128mul.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
hash_info.c lib/crypto: hash_info: Move hash_info.c into lib/crypto/ 2025-07-08 12:03:44 -07:00
Kconfig lib/crypto: tests: Add KUnit tests for SHA-224 and SHA-256 2025-07-14 11:29:36 -07:00
libchacha.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
Makefile lib/crypto: tests: Add KUnit tests for SHA-224 and SHA-256 2025-07-14 11:29:36 -07:00
memneq.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305-donna32.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305-donna64.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305-generic.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
poly1305.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
sha1.c lib/crypto: sha1: Add HMAC support 2025-07-14 08:59:20 -07:00
sha256.c lib/crypto: sha2: Add hmac_sha*_init_usingrawkey() 2025-07-14 08:20:37 -07:00
sha512.c lib/crypto: sha2: Add hmac_sha*_init_usingrawkey() 2025-07-14 08:20:37 -07:00
simd.c crypto: api - move crypto_simd_disabled_for_test to lib 2024-10-28 18:33:11 +08:00
sm3.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00
utils.c lib/crypto: Explicitly include <linux/export.h> 2025-06-30 09:26:19 -07:00