lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250727234727.GD1261@sol>
Date: Sun, 27 Jul 2025 16:47:27 -0700
From: Eric Biggers <ebiggers@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
	Ard Biesheuvel <ardb@...nel.org>,
	"Jason A. Donenfeld" <Jason@...c4.com>,
	Guenter Roeck <linux@...ck-us.net>
Subject: [GIT PULL] Crypto library tests for 6.17

Note: this depends on the "Crypto library updates" pull request and
should be merged after it.

The following changes since commit c76ed8790b3018fe36647d9aae96e0373f321184:

  crypto: sha1 - Remove sha1_base.h (2025-07-14 11:28:38 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git tags/libcrypto-tests-for-linus

for you to fetch changes up to 8cd876e7833758f8a924db2e39530d2a9afd2703:

  lib/crypto: tests: Annotate worker to be on stack (2025-07-21 20:10:36 -0700)

----------------------------------------------------------------

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.

----------------------------------------------------------------
Eric Biggers (5):
      lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py
      lib/crypto: tests: Add KUnit tests for SHA-224 and SHA-256
      lib/crypto: tests: Add KUnit tests for SHA-384 and SHA-512
      lib/crypto: tests: Add KUnit tests for Poly1305
      lib/crypto: tests: Add KUnit tests for SHA-1 and HMAC-SHA1

Guenter Roeck (1):
      lib/crypto: tests: Annotate worker to be on stack

 lib/crypto/Kconfig                    |   2 +
 lib/crypto/Makefile                   |   2 +
 lib/crypto/tests/Kconfig              |  60 +++
 lib/crypto/tests/Makefile             |   6 +
 lib/crypto/tests/hash-test-template.h | 683 ++++++++++++++++++++++++++++++++++
 lib/crypto/tests/poly1305-testvecs.h  | 186 +++++++++
 lib/crypto/tests/poly1305_kunit.c     | 165 ++++++++
 lib/crypto/tests/sha1-testvecs.h      | 212 +++++++++++
 lib/crypto/tests/sha1_kunit.c         |  39 ++
 lib/crypto/tests/sha224-testvecs.h    | 238 ++++++++++++
 lib/crypto/tests/sha224_kunit.c       |  39 ++
 lib/crypto/tests/sha256-testvecs.h    | 238 ++++++++++++
 lib/crypto/tests/sha256_kunit.c       |  39 ++
 lib/crypto/tests/sha384-testvecs.h    | 290 +++++++++++++++
 lib/crypto/tests/sha384_kunit.c       |  39 ++
 lib/crypto/tests/sha512-testvecs.h    | 342 +++++++++++++++++
 lib/crypto/tests/sha512_kunit.c       |  39 ++
 scripts/crypto/gen-hash-testvecs.py   | 147 ++++++++
 18 files changed, 2766 insertions(+)
 create mode 100644 lib/crypto/tests/Kconfig
 create mode 100644 lib/crypto/tests/Makefile
 create mode 100644 lib/crypto/tests/hash-test-template.h
 create mode 100644 lib/crypto/tests/poly1305-testvecs.h
 create mode 100644 lib/crypto/tests/poly1305_kunit.c
 create mode 100644 lib/crypto/tests/sha1-testvecs.h
 create mode 100644 lib/crypto/tests/sha1_kunit.c
 create mode 100644 lib/crypto/tests/sha224-testvecs.h
 create mode 100644 lib/crypto/tests/sha224_kunit.c
 create mode 100644 lib/crypto/tests/sha256-testvecs.h
 create mode 100644 lib/crypto/tests/sha256_kunit.c
 create mode 100644 lib/crypto/tests/sha384-testvecs.h
 create mode 100644 lib/crypto/tests/sha384_kunit.c
 create mode 100644 lib/crypto/tests/sha512-testvecs.h
 create mode 100644 lib/crypto/tests/sha512_kunit.c
 create mode 100755 scripts/crypto/gen-hash-testvecs.py

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ