From: Eric Biggers <ebiggers@kernel.org>
To: David Howells <dhowells@redhat.com>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>,
Ard Biesheuvel <ardb@kernel.org>,
Harald Freudenberger <freude@linux.ibm.com>,
Holger Dengler <dengler@linux.ibm.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Stephan Mueller <smueller@chronox.de>,
Simo Sorce <simo@redhat.com>,
linux-crypto@vger.kernel.org, linux-s390@vger.kernel.org,
keyrings@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] lib/crypto: Add SHA3-224, SHA3-256, SHA3-384, SHA-512, SHAKE128, SHAKE256
Date: Fri, 19 Sep 2025 15:32:08 -0500 [thread overview]
Message-ID: <20250919203208.GA8350@quark> (raw)
In-Reply-To: <3975735.1758311280@warthog.procyon.org.uk>
On Fri, Sep 19, 2025 at 08:48:00PM +0100, David Howells wrote:
> Eric Biggers <ebiggers@kernel.org> wrote:
>
> > This should be based on libcrypto-next.
>
> This?
>
> https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git libcrypto-next
Yes.
> > and that the functions can be called in any context.
>
> "Context" as in?
See the "Function context" section of
Documentation/doc-guide/kernel-doc.rst
> > The testing situation looks odd. This patch adds six KUnit test suites:
> > one for each of the SHA-3 algorithms. But they only include the
> > hash-test-template.h test cases, and they don't test the unique behavior
> > of SHAKE. The KUnit tests need to fully test the library.
>
> Yes, I'm aware of that. The hash-test-template template is rather rigid
hash-test-template.h is designed for traditional hash functions. If
you'd like to extend it to support XOFs, that's one option. But I think
just keeping the XOF testing in sha3_kunit.c would make sense for now.
> and not always correct in its assertions (for instance requiring the
> final function to have zeroed the context - I had to modify my API to
> work around the testsuite).
But that's the correct behavior. Callers may be hashing sensitize data,
so *_final() zeroizes the context.
The "multiple squeezes" use case should use different functions.
> > I also think that splitting the SHA-3 tests into six KUnit test suites
> > is awkward. I know I did something similar for SHA-2, but it made more
> > sense for SHA-2 because (1) there are only four SHA-2 variants, (2)
> > SHA-256 and SHA-512 don't share any code, and (3) there wasn't anything
> > more to add on top of hash-test-template.h. In contrast, SHA-3 has six
> > variants, which all share most of their code, and there will need to be
> > SHA-3 specific tests (for the XOFs).
>
> Yes, but I believe you wanted me to use hash-test-template. The problem is
> that it hard-encodes by macroisation of the #include's file various parameters
> including the hash size.
Did you miss my response at
https://lore.kernel.org/linux-crypto/20250917192829.GA8743@quark/ ?
- Eric
next prev parent reply other threads:[~2025-09-19 20:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-19 16:31 [PATCH v2] lib/crypto: Add SHA3-224, SHA3-256, SHA3-384, SHA-512, SHAKE128, SHAKE256 David Howells
2025-09-19 19:04 ` Eric Biggers
2025-09-19 19:48 ` David Howells
2025-09-19 19:53 ` Stephan Mueller
2025-09-19 20:47 ` Eric Biggers
2025-09-19 21:20 ` Stephan Mueller
2025-09-19 20:32 ` Eric Biggers [this message]
2025-09-23 17:36 ` David Howells
2025-09-23 17:45 ` Eric Biggers
2025-09-20 10:53 ` kernel test robot
2025-09-21 19:27 ` Eric Biggers
2025-09-21 21:18 ` David Howells
2025-09-21 21:57 ` Eric Biggers
2025-09-23 14:22 ` David Howells
2025-09-23 15:32 ` Eric Biggers
2025-09-23 16:25 ` David Howells
2025-09-23 16:31 ` David Howells
2025-09-25 8:39 ` Ard Biesheuvel
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=20250919203208.GA8350@quark \
--to=ebiggers@kernel.org \
--cc=Jason@zx2c4.com \
--cc=ardb@kernel.org \
--cc=dengler@linux.ibm.com \
--cc=dhowells@redhat.com \
--cc=freude@linux.ibm.com \
--cc=herbert@gondor.apana.org.au \
--cc=keyrings@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=simo@redhat.com \
--cc=smueller@chronox.de \
/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