All of lore.kernel.org
 help / color / mirror / Atom feed
From: Harald Freudenberger <freude@linux.ibm.com>
To: Eric Biggers <ebiggers@kernel.org>
Cc: linux-crypto@vger.kernel.org, David Howells <dhowells@redhat.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	"Jason A . Donenfeld" <Jason@zx2c4.com>,
	Holger Dengler <dengler@linux.ibm.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 00/15] SHA-3 library
Date: Wed, 05 Nov 2025 16:39:01 +0100	[thread overview]
Message-ID: <4188d18bfcc8a64941c5ebd8de10ede2@linux.ibm.com> (raw)
In-Reply-To: <20251103173404.GE1735@sol>

[-- Attachment #1: Type: text/plain, Size: 2474 bytes --]

On 2025-11-03 18:34, Eric Biggers wrote:
> On Sat, Oct 25, 2025 at 10:50:17PM -0700, Eric Biggers wrote:
>> This series is targeting libcrypto-next.  It can also be retrieved 
>> from:
>> 
>>     git fetch 
>> https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git 
>> sha3-lib-v2
>> 
>> This series adds SHA-3 support to lib/crypto/.  This includes support
>> for the digest algorithms SHA3-224, SHA3-256, SHA3-384, and SHA3-512,
>> and also support for the extendable-output functions SHAKE128 and
>> SHAKE256.  The SHAKE128 and SHAKE256 support will be needed by ML-DSA.
>> 
>> The architecture-optimized SHA-3 code for arm64 and s390 is migrated
>> into lib/crypto/.  (The existing s390 code couldn't really be reused, 
>> so
>> really I rewrote it from scratch.)  This makes the SHA-3 library
>> functions be accelerated on these architectures.
>> 
>> Finally, the sha3-224, sha3-256, sha3-384, and sha3-512 crypto_shash
>> algorithms are reimplemented on top of the library API.
> 
> I've applied this series to
> https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=libcrypto-next,
> excluding the following 2 patches which are waiting on benchmark 
> results
> from the s390 folks:
> 
>     lib/crypto: sha3: Support arch overrides of one-shot digest 
> functions
>     lib/crypto: s390/sha3: Add optimized one-shot SHA-3 digest 
> functions
> 
> I'd be glad to apply those too if they're shown to be worthwhile.
> 
> Note: I also reordered the commits in libcrypto-next to put the new
> KUnit test suites (blake2b and sha3) last, and to put the AES-GCM
> improvements on a separate branch that's merged in.  This will allow
> making separate pull requests for the tests and the AES-GCM
> improvements, which I think aligns with what Linus had requested before
> (https://lore.kernel.org/linux-crypto/CAHk-=wi5d4K+sF2L=tuRW6AopVxO1DDXzstMQaECmU2QHN13KA@mail.gmail.com/).
> 
> - Eric

Here are now some measurements on a LPAR with 500 runs once with
sha3-lib-v2 branch full ("with") and once with reverting only the
b2e169dd8ca5 lib/crypto: s390/sha3: Add optimized one-shot SHA-3 digest 
functions
patch ("without"). With the help of gnuplot I generated distribution
charts over the results of the len=16, 64, 256, 1024 and 4096 benchmark.
See attached pictures - Sorry but I see no other way to provide this 
data
than using an attachment.

Clearly the patch brings a boost - especially for the 256 byte case.

Harald Freudenberger

[-- Attachment #2: len-16.png --]
[-- Type: image/png, Size: 38264 bytes --]

[-- Attachment #3: len-64.png --]
[-- Type: image/png, Size: 39544 bytes --]

[-- Attachment #4: len-256.png --]
[-- Type: image/png, Size: 30406 bytes --]

[-- Attachment #5: len-1024.png --]
[-- Type: image/png, Size: 28917 bytes --]

[-- Attachment #6: len-4096.png --]
[-- Type: image/png, Size: 28927 bytes --]

  reply	other threads:[~2025-11-05 15:39 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-26  5:50 [PATCH v2 00/15] SHA-3 library Eric Biggers
2025-10-26  5:50 ` [PATCH v2 01/15] crypto: s390/sha3 - Rename conflicting functions Eric Biggers
2025-10-26  5:50 ` [PATCH v2 02/15] crypto: arm64/sha3 - Rename conflicting function Eric Biggers
2025-10-26  5:50 ` [PATCH v2 03/15] lib/crypto: sha3: Add SHA-3 support Eric Biggers
2025-10-26  5:50 ` [PATCH v2 04/15] lib/crypto: sha3: Move SHA3 Iota step mapping into round function Eric Biggers
2025-10-26  5:50 ` [PATCH v2 05/15] lib/crypto: tests: Add SHA3 kunit tests Eric Biggers
2025-10-26  5:50 ` [PATCH v2 06/15] lib/crypto: tests: Add additional SHAKE tests Eric Biggers
2025-10-26  5:50 ` [PATCH v2 07/15] lib/crypto: sha3: Add FIPS cryptographic algorithm self-test Eric Biggers
2025-10-26  5:50 ` [PATCH v2 08/15] crypto: arm64/sha3 - Update sha3_ce_transform() to prepare for library Eric Biggers
2025-10-26  5:50 ` [PATCH v2 09/15] lib/crypto: arm64/sha3: Migrate optimized code into library Eric Biggers
2025-10-26  5:50 ` [PATCH v2 10/15] lib/crypto: s390/sha3: Add optimized Keccak functions Eric Biggers
2025-10-26  5:50 ` [PATCH v2 11/15] lib/crypto: sha3: Support arch overrides of one-shot digest functions Eric Biggers
2025-10-26  5:50 ` [PATCH v2 12/15] lib/crypto: s390/sha3: Add optimized one-shot SHA-3 " Eric Biggers
2025-10-26  5:50 ` [PATCH v2 13/15] crypto: jitterentropy - Use default sha3 implementation Eric Biggers
2025-10-26  5:50 ` [PATCH v2 14/15] crypto: sha3 - Reimplement using library API Eric Biggers
2025-10-26  5:50 ` [PATCH v2 15/15] crypto: s390/sha3 - Remove superseded SHA-3 code Eric Biggers
2025-10-29  9:30 ` [PATCH v2 00/15] SHA-3 library Harald Freudenberger
2025-10-29 16:32   ` Eric Biggers
2025-10-29 20:33     ` Eric Biggers
2025-10-30  8:11       ` Heiko Carstens
2025-10-30 10:16       ` Harald Freudenberger
2025-10-30 10:10     ` Harald Freudenberger
2025-10-30 17:14       ` Eric Biggers
2025-10-31 14:29         ` Harald Freudenberger
2025-11-04 11:07         ` Harald Freudenberger
2025-11-04 18:27           ` Eric Biggers
2025-11-05  8:16             ` Harald Freudenberger
2025-11-04 11:55         ` Harald Freudenberger
2025-10-30 14:08 ` Ard Biesheuvel
2025-11-03 17:34 ` Eric Biggers
2025-11-05 15:39   ` Harald Freudenberger [this message]
2025-11-06  4:33     ` Eric Biggers
2025-11-06  7:22       ` Eric Biggers
2025-11-06  8:54         ` Harald Freudenberger
2025-11-06 19:51           ` Eric Biggers

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=4188d18bfcc8a64941c5ebd8de10ede2@linux.ibm.com \
    --to=freude@linux.ibm.com \
    --cc=Jason@zx2c4.com \
    --cc=ardb@kernel.org \
    --cc=dengler@linux.ibm.com \
    --cc=dhowells@redhat.com \
    --cc=ebiggers@kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.