]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
fscrypt: remove selection of CONFIG_CRYPTO_SHA256
authorEric Biggers <ebiggers@google.com>
Thu, 20 Jun 2019 18:15:05 +0000 (11:15 -0700)
committerEric Biggers <ebiggers@google.com>
Thu, 27 Jun 2019 17:29:33 +0000 (10:29 -0700)
fscrypt only uses SHA-256 for AES-128-CBC-ESSIV, which isn't the default
and is only recommended on platforms that have hardware accelerated
AES-CBC but not AES-XTS.  There's no link-time dependency, since SHA-256
is requested via the crypto API on first use.

To reduce bloat, we should limit FS_ENCRYPTION to selecting the default
algorithms only.  SHA-256 by itself isn't that much bloat, but it's
being discussed to move ESSIV into a crypto API template, which would
incidentally bring in other things like "authenc" support, which would
all end up being built-in since FS_ENCRYPTION is now a bool.

For Adiantum encryption we already just document that users who want to
use it have to enable CONFIG_CRYPTO_ADIANTUM themselves.  So, let's do
the same for AES-128-CBC-ESSIV and CONFIG_CRYPTO_SHA256.

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Documentation/filesystems/fscrypt.rst
fs/crypto/Kconfig

index 08c23b60e016471426700c34bca864b7dfc244a5..87d4e266ffc86d1d9a5a1df4620bd256bd486d52 100644 (file)
@@ -191,7 +191,9 @@ Currently, the following pairs of encryption modes are supported:
 If unsure, you should use the (AES-256-XTS, AES-256-CTS-CBC) pair.
 
 AES-128-CBC was added only for low-powered embedded devices with
-crypto accelerators such as CAAM or CESA that do not support XTS.
+crypto accelerators such as CAAM or CESA that do not support XTS.  To
+use AES-128-CBC, CONFIG_CRYPTO_SHA256 (or another SHA-256
+implementation) must be enabled so that ESSIV can be used.
 
 Adiantum is a (primarily) stream cipher-based mode that is fast even
 on CPUs without dedicated crypto instructions.  It's also a true
index 24ed99e2eca0b21867cc8e2df487e4a473b69a34..5fdf24877c17854de67a39377026bacf3355e6fd 100644 (file)
@@ -7,7 +7,6 @@ config FS_ENCRYPTION
        select CRYPTO_ECB
        select CRYPTO_XTS
        select CRYPTO_CTS
-       select CRYPTO_SHA256
        select KEYS
        help
          Enable encryption of files and directories.  This