[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <76331A46-235E-4A35-BA07-F4811FA29EB5@oracle.com>
Date: Fri, 4 Dec 2020 11:05:24 -0500
From: Chuck Lever <chuck.lever@...cle.com>
To: Bruce Fields <bfields@...ldses.org>
Cc: David Howells <dhowells@...hat.com>,
CIFS <linux-cifs@...r.kernel.org>,
Linux NFS Mailing List <linux-nfs@...r.kernel.org>,
Herbert Xu <herbert@...dor.apana.org.au>,
"open list:NETWORKING [GENERAL]" <netdev@...r.kernel.org>,
linux-kernel@...r.kernel.org,
Trond Myklebust <trond.myklebust@...merspace.com>,
linux-crypto@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-afs@...ts.infradead.org
Subject: Re: Why the auxiliary cipher in gss_krb5_crypto.c?
> On Dec 4, 2020, at 10:46 AM, Bruce Fields <bfields@...ldses.org> wrote:
>
> On Fri, Dec 04, 2020 at 02:59:35PM +0000, David Howells wrote:
>> Hi Chuck, Bruce,
>>
>> Why is gss_krb5_crypto.c using an auxiliary cipher? For reference, the
>> gss_krb5_aes_encrypt() code looks like the attached.
>>
>>> From what I can tell, in AES mode, the difference between the main cipher and
>> the auxiliary cipher is that the latter is "cbc(aes)" whereas the former is
>> "cts(cbc(aes))" - but they have the same key.
>>
>> Reading up on CTS, I'm guessing the reason it's like this is that CTS is the
>> same as the non-CTS, except for the last two blocks, but the non-CTS one is
>> more efficient.
>
> CTS is cipher-text stealing, isn't it? I think it was Kevin Coffman
> that did that, and I don't remember the history. I thought it was
> required by some spec or peer implementation (maybe Windows?) but I
> really don't remember. It may predate git. I'll dig around and see
> what I can find.
I can't add more here, this design comes from well before I started
working on this body of code (though, I worked near Kevin when he
implemented it).
--
Chuck Lever
Powered by blists - more mailing lists