Thread (23 messages) 23 messages, 5 authors, 2025-01-17

Re: [RFC PATCH 2/8] crypto/krb5: Provide Kerberos 5 crypto through AEAD API

From: David Howells <dhowells@redhat.com>
Date: 2025-01-10 10:39:39
Also in: linux-crypto, linux-fsdevel, linux-nfs, lkml

Herbert Xu [off-list ref] wrote:
quoted
Authentication tags are not used at all and should cause EINVAL if used (a
later patch does that).
What do you mean by this? The authentication tag is the checksum
that you're referring to and you appear to be using it in the rfc8009
encrypt/decrypt functions.
Is it?  That's entirely unclear.  The algorithm should deal with inserting the
checksum in the appropriate place.  The caller should not need to know about
that or where the checksum is or about extra bits of metadata that may need to
be inserted (as I think the extra gssapi layer does for sunrpc).

One of the reason the library has a number of layout functions is to handle
that stuff transparently.  Unfortunately, I couldn't make it work in the AEAD
interface.  The previous library implementation was better in that regard.
quoted
For the moment, the kerberos encryption algorithms use separate hash and
cipher algorithms internally, but should really use dual hash+cipher and
cipher+hash algorithms if possible to avoid doing these in series.  Offload
off this may be possible through something like the Intel QAT.
Please elaborate on what you mean by this.  For IPsec, the main
benefit with reframing cbc(aes)+hmac as aead is having a single
code-path that supports both types of algorithms.
By "dual" I mean, for example, a piece of code that does the cipher and the
hash concurrently.  I think it may be possible to do this using x86 AES and
SHA instructions - if there are sufficient registers.  What I want to do is
avoid having to call a cipher and a hash sequentially.  It appears that the
Intel QAT can actually do this with authenc combos - but the one I have
doesn't offer CTS(CBC(AES)) but only CBC(AES).
So does your use-case support both standard AEAD algorithms such
as GCM as well as these legacy algorithms?
At the moment AFS's rxgk does not support GCM.  The same goes for sunrpc in
the kernel.

David
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help