Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote: > > 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. > > 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