From: Eric Biggers <ebiggers@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
Ard Biesheuvel <ardb@kernel.org>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
Guenter Roeck <linux@roeck-us.net>
Subject: [GIT PULL] Crypto library tests for 6.17
Date: Sun, 27 Jul 2025 16:47:27 -0700 [thread overview]
Message-ID: <20250727234727.GD1261@sol> (raw)
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
next reply other threads:[~2025-07-27 23:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-27 23:47 Eric Biggers [this message]
2025-07-29 1:12 ` [GIT PULL] Crypto library tests for 6.17 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250727234727.GD1261@sol \
--to=ebiggers@kernel.org \
--cc=Jason@zx2c4.com \
--cc=ardb@kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox