Re: [PATCH v3 4/4] fscrypt: Add LEA-256-XTS, LEA-256-CTS support

From: Eric Biggers
Date: Wed Jun 28 2023 - 05:09:11 EST


On Mon, Jun 26, 2023 at 05:47:03PM +0900, Dongsoo Lee wrote:
> when SIMD instructions are available, it performs even faster.

This will only be true once there is actually an applicable implementation of
LEA-XTS and LEA-CTS using SIMD instructions included in the kernel.

Perhaps it is your plan to go through and accelerate LEA-XTS and LEA-CTS for the
common CPU architectures. However, it is not included in this patchset yet, so
it should not be claimed in the documentation yet.

> Particularly, it outperforms AES when the dedicated crypto
> +instructions for AES are unavailable, regardless of the presence of SIMD
> +instructions. However, it is not recommended to use LEA unless there is
> +a clear reason (such as the absence of dedicated crypto instructions for
> +AES or a mandatory requirement) to do so. Also, to enable LEA support,
> +it needs to be enabled in the kernel crypto API.

I think I'd prefer that you omit the mention of the "absence of dedicated crypto
instructions" use case for now. fscrypt already supports another algorithm that
fulfills exactly that use case (Adiantum), and that algorithm already has
optimized implementations for arm32, arm64, and x86_64. LEA does not have that
yet. So it does not really bring anything new to the table. I'm also unsure it
would be appropriate to recommend a "lightweight" cipher at this point...

That would leave "mandatory requirement" as the rationale, at least for now,
similar to SM4.

- Eric