From: Eric Biggers <ebiggers@kernel.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
Subject: Re: [PATCH 13/15] crypto: cts,xts - Update parameters blocksize/chunksize/tailsize
Date: Thu, 22 Feb 2024 22:09:14 -0800 [thread overview]
Message-ID: <20240223060914.GH25631@sol.localdomain> (raw)
In-Reply-To: <Zc3D8kwfZXiCagOL@gondor.apana.org.au>
On Thu, Feb 15, 2024 at 03:57:38PM +0800, Herbert Xu wrote:
> On Wed, Feb 14, 2024 at 03:00:21PM -0800, Eric Biggers wrote:
> >
> > Before messing around with cra_blocksize, it needs to be decided what it
> > actually means, and document it appropriately. According to the current
> > specification, AES_BLOCK_SIZE is correct here, not 1:
>
> Block size should always be set to 1 unless the algorithm is only
> capable of handling input data that is a multiple of block size.
>
> > * @cra_blocksize: Minimum block size of this transformation. The size in bytes
> > * of the smallest possible unit which can be transformed with
> > * this algorithm. The users must respect this value.
> > * In case of HASH transformation, it is possible for a smaller
> > * block than @cra_blocksize to be passed to the crypto API for
> > * transformation, in case of any other transformation type, an
> > * error will be returned upon any attempt to transform smaller
> > * than @cra_blocksize chunks.
>
> OK this is wrong. We should fix it. For skciphers, the input
> length must be a multiple of blocksize.
That seems logical, but everything needs to be updated to be consistent. Note
that adiantum and hctr2 also use the currently documented convention, i.e. they
support byte-aligned messages but they set cra_blocksize to 16 because that's
their minimum message size. Also, while the proposed definition seems logical,
do you have any more specific rationale for wanting to make this change?
- Eric
next prev parent reply other threads:[~2024-02-23 6:09 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-13 9:04 [PATCH 00/15] crypto: Add twopass lskcipher for adiantum Herbert Xu
2023-12-02 4:55 ` [PATCH 01/15] crypto: skcipher - Add tailsize attribute Herbert Xu
2024-02-14 23:44 ` Eric Biggers
2024-02-15 6:40 ` Herbert Xu
2024-02-23 6:01 ` Eric Biggers
2023-12-02 5:42 ` [PATCH 02/15] crypto: algif_skcipher - Add support for tailsize Herbert Xu
2023-12-04 10:24 ` [PATCH 04/15] crypto: xts - Convert from skcipher to lskcipher Herbert Xu
2023-12-05 6:09 ` [PATCH 05/15] crypto: skcipher - Add twopass attribute Herbert Xu
2023-12-05 6:13 ` [PATCH 06/15] crypto: algif_skcipher - Disallow nonincremental algorithms Herbert Xu
2024-02-14 22:56 ` Eric Biggers
2024-02-15 6:47 ` Herbert Xu
2024-02-23 6:00 ` Eric Biggers
2023-12-05 9:52 ` [PATCH 07/15] crypto: adiantum - Use lskcipher instead of cipher Herbert Xu
2023-12-06 4:46 ` [PATCH 08/15] crypto: skcipher - Add incremental support to lskcipher wrapper Herbert Xu
2023-12-06 5:49 ` [PATCH 09/15] crypto: chacha-generic - Convert from skcipher to lskcipher Herbert Xu
2024-02-14 23:41 ` Eric Biggers
2024-02-15 6:52 ` Herbert Xu
2023-12-06 6:05 ` [PATCH 10/15] crypto: skcipher - Move nesting check into ecb Herbert Xu
2023-12-06 8:55 ` [PATCH 11/15] crypto: skcipher - Propagate zero-length requests to lskcipher Herbert Xu
2023-12-07 10:03 ` [PATCH 03/15] crypto: skcipher - Remove ivsize check for lskcipher simple templates Herbert Xu
2023-12-07 10:13 ` [PATCH 12/15] crypto: cts - Convert from skcipher to lskcipher Herbert Xu
2023-12-29 10:47 ` [PATCH 13/15] crypto: cts,xts - Update parameters blocksize/chunksize/tailsize Herbert Xu
2024-02-14 23:00 ` Eric Biggers
2024-02-15 7:57 ` Herbert Xu
2024-02-23 6:09 ` Eric Biggers [this message]
2023-12-30 7:16 ` [PATCH 14/15] crypto: lskcipher - Export incremental interface internally Herbert Xu
2024-02-13 8:48 ` [PATCH 15/15] crypto: adiantum - Convert from skcipher to lskcipher Herbert Xu
2024-02-14 23:35 ` [PATCH 00/15] crypto: Add twopass lskcipher for adiantum Eric Biggers
2024-02-15 8:20 ` Herbert Xu
2024-02-23 6:39 ` 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=20240223060914.GH25631@sol.localdomain \
--to=ebiggers@kernel.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox