From: Eric Biggers <ebiggers@kernel.org>
To: linux-fscrypt@vger.kernel.org
Cc: Theodore Ts'o <tytso@mit.edu>, Jaegeuk Kim <jaegeuk@kernel.org>,
linux-crypto@vger.kernel.org, Ard Biesheuvel <ardb@kernel.org>,
"Jason A . Donenfeld" <Jason@zx2c4.com>,
Hannes Reinecke <hare@kernel.org>
Subject: Re: [PATCH] fscrypt: use HMAC-SHA512 library for HKDF
Date: Sun, 21 Sep 2025 11:12:47 -0700 [thread overview]
Message-ID: <20250921181247.GA22468@sol> (raw)
In-Reply-To: <20250906035913.1141532-1-ebiggers@kernel.org>
On Fri, Sep 05, 2025 at 08:59:13PM -0700, Eric Biggers wrote:
> For the HKDF-SHA512 key derivation needed by fscrypt, just use the
> HMAC-SHA512 library functions directly. These functions were introduced
> in v6.17, and they provide simple and efficient direct support for
> HMAC-SHA512. This ends up being quite a bit simpler and more efficient
> than using crypto/hkdf.c, as it avoids the generic crypto layer:
>
> - The HMAC library can't fail, so callers don't need to handle errors
> - No inefficient indirect calls
> - No inefficient and error-prone dynamic allocations
> - No inefficient and error-prone loading of algorithm by name
> - Less stack usage
>
> Benchmarks on x86_64 show that deriving a per-file key gets about 30%
> faster, and FS_IOC_ADD_ENCRYPTION_KEY gets nearly twice as fast.
>
> The only small downside is the HKDF-Expand logic gets duplicated again.
> Then again, even considering that, the new fscrypt_hkdf_expand() is only
> 7 lines longer than the version that called hkdf_expand(). Later we
> could add HKDF support to lib/crypto/, but for now let's just do this.
>
> Signed-off-by: Eric Biggers <ebiggers@kernel.org>
> ---
>
> This patch is targeting fscrypt/for-next
Applied to https://git.kernel.org/pub/scm/fs/fscrypt/linux.git/log/?h=for-next
- Eric
prev parent reply other threads:[~2025-09-21 18:14 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-06 3:59 [PATCH] fscrypt: use HMAC-SHA512 library for HKDF Eric Biggers
2025-09-21 18:12 ` Eric Biggers [this message]
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=20250921181247.GA22468@sol \
--to=ebiggers@kernel.org \
--cc=Jason@zx2c4.com \
--cc=ardb@kernel.org \
--cc=hare@kernel.org \
--cc=jaegeuk@kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
--cc=tytso@mit.edu \
/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.