From: Eric Biggers <ebiggers3@gmail.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
Herbert Xu <herbert@gondor.apana.org.au>,
"nico@linaro.org" <nico@linaro.org>
Subject: Re: [PATCH 0/7] crypto: aes - allow generic AES to be omitted
Date: Tue, 28 Mar 2017 10:55:01 -0700 [thread overview]
Message-ID: <20170328175501.GA117775@gmail.com> (raw)
In-Reply-To: <CAKv+Gu8P8ET541OPGa=cqPt4qLd4dkiNAztoOZ2mSR47KDYE7g@mail.gmail.com>
On Tue, Mar 28, 2017 at 09:51:54AM +0100, Ard Biesheuvel wrote:
> On 28 March 2017 at 06:43, Eric Biggers <ebiggers3@gmail.com> wrote:
> >
> > Just a thought: how about renaming CRYPTO_AES to CRYPTO_AES_GENERIC, then
> > renaming what you called CRYPTO_NEED_AES to CRYPTO_AES? Then all the 'select
> > CRYPTO_AES' can remain as-is, instead of replacing them with the (in my opinion
> > uglier) 'select CRYPTO_NEED_AES'. And it should still work for people who have
> > CRYPTO_AES=y or CRYPTO_AES=m in their kernel config, since they'll still get at
> > least one AES implementation (though they may stop getting the generic one).
> >
> > Also, in general I think we need better Kconfig help text. As proposed you can
> > now toggle simply "AES cipher algorithms", and nowhere in the help text is it
> > mentioned that that is only the generic implementation, which you don't need if
> > you have enabled some other implementation. Similarly for "Fixed time AES
> > cipher"; it perhaps should be mentioned that it's only useful if a fixed-time
> > implementation using special CPU instructions like AES-NI or ARMv8-CE isn't
> > usable.
> >
>
> Thanks for the feedback. I take it you are on board with the general idea then?
>
> Re name change, those are good points. I will experiment with that.
>
> I was a bit on the fence about modifying the x86 code more than
> required, but actually, I think it makes sense for the AES-NI code to
> use fixed-time AES as a fallback rather than the table-based x86 code,
> given that the fallback is rarely used (only when executed in the
> context of an interrupt taken from kernel code that is already using
> the FPU) and falling back to a non-fixed time implementation loses
> some guarantees that the AES-NI code gives.
Definitely, I just feel it needs to be cleaned up a little so that the different
AES config options and modules aren't quite as confusing to those not as
familiar with them.
Did you also consider having
crypto_aes_set_key_generic()
and
crypto_aes_expand_key_ti()
crypto_aes_set_key_ti()
instead of crypto_aes_set_key() and crypto_aes_expand_key()? As-is, it isn't
immediately clear which function is part of which module.
- Eric
prev parent reply other threads:[~2017-03-28 17:55 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-26 18:49 [PATCH 0/7] crypto: aes - allow generic AES to be omitted Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 1/7] drivers/crypto/Kconfig: drop bogus CRYPTO_AES dependencies Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 2/7] crypto: aes - add new Kconfig symbol for soft dependency on AES Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 3/7] crypto: aes/x86 - eliminate set_key() handling for IRQ context Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 4/7] crypto: aes/arm64 - eliminate dependency on crypto_aes_set_key() Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 5/7] crypto: aes - move crypto_aes_expand_key() to fixed-time AES driver Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 6/7] crypto: aes - split off shared AES tables and key expansion routines Ard Biesheuvel
2017-03-26 19:50 ` Nicolas Pitre
2017-03-26 20:11 ` Ard Biesheuvel
2017-03-26 18:49 ` [PATCH 7/7] crypto: aes - allow alternative AES drivers to fulfil AES dependency Ard Biesheuvel
2017-03-26 19:59 ` [PATCH 0/7] crypto: aes - allow generic AES to be omitted Nicolas Pitre
2017-03-28 5:43 ` Eric Biggers
2017-03-28 8:51 ` Ard Biesheuvel
2017-03-28 17:55 ` Eric Biggers [this message]
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=20170328175501.GA117775@gmail.com \
--to=ebiggers3@gmail.com \
--cc=ard.biesheuvel@linaro.org \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=nico@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.