[2.6 patch] better CRYPTO_AES <-> CRYPTO_AES_586 dependencies

From: Adrian Bunk
Date: Fri Feb 25 2005 - 16:55:08 EST


2.6.11-rc4-mm1 contains an option (IEEE80211_CRYPT_CCMP) that selects
CRYPTO_AES - but this is currently wrong on i386.

This patch changes CRYPTO_AES to being the only user-visible options and
selecting either CRYPTO_AES_586 or a new CRYPTO_AES_GENERIC option
depending on the platform.

Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>

---

BTW: Does CRYPTO_AES_586 work on an 386 or 486?

crypto/Kconfig | 26 +++++++-------------------
crypto/Makefile | 2 +-
2 files changed, 8 insertions(+), 20 deletions(-)

--- linux-2.6.11-rc4-mm1-full/crypto/Kconfig.old 2005-02-25 22:26:20.000000000 +0100
+++ linux-2.6.11-rc4-mm1-full/crypto/Kconfig 2005-02-25 22:28:44.000000000 +0100
@@ -133,7 +133,9 @@

config CRYPTO_AES
tristate "AES cipher algorithms"
- depends on CRYPTO && !(X86 && !X86_64)
+ depends on CRYPTO
+ select CRYPTO_AES_GENERIC if !(X86 && !X86_64)
+ select CRYPTO_AES_586 if (X86 && !X86_64)
help
AES cipher algorithms (FIPS-197). AES uses the Rijndael
algorithm.
@@ -151,25 +153,11 @@

See <http://csrc.nist.gov/CryptoToolkit/aes/> for more information.

-config CRYPTO_AES_586
- tristate "AES cipher algorithms (i586)"
- depends on CRYPTO && (X86 && !X86_64)
- help
- AES cipher algorithms (FIPS-197). AES uses the Rijndael
- algorithm.
+config CRYPTO_AES_GENERIC
+ tristate

- Rijndael appears to be consistently a very good performer in
- both hardware and software across a wide range of computing
- environments regardless of its use in feedback or non-feedback
- modes. Its key setup time is excellent, and its key agility is
- good. Rijndael's very low memory requirements make it very well
- suited for restricted-space environments, in which it also
- demonstrates excellent performance. Rijndael's operations are
- among the easiest to defend against power and timing attacks.
-
- The AES specifies three key sizes: 128, 192 and 256 bits
-
- See <http://csrc.nist.gov/encryption/aes/> for more information.
+config CRYPTO_AES_586
+ tristate

config CRYPTO_CAST5
tristate "CAST5 (CAST-128) cipher algorithm"
--- linux-2.6.11-rc4-mm1-full/crypto/Makefile.old 2005-02-25 22:29:33.000000000 +0100
+++ linux-2.6.11-rc4-mm1-full/crypto/Makefile 2005-02-25 22:29:42.000000000 +0100
@@ -19,7 +19,7 @@
obj-$(CONFIG_CRYPTO_BLOWFISH) += blowfish.o
obj-$(CONFIG_CRYPTO_TWOFISH) += twofish.o
obj-$(CONFIG_CRYPTO_SERPENT) += serpent.o
-obj-$(CONFIG_CRYPTO_AES) += aes.o
+obj-$(CONFIG_CRYPTO_AES_GENERIC) += aes.o
obj-$(CONFIG_CRYPTO_CAST5) += cast5.o
obj-$(CONFIG_CRYPTO_CAST6) += cast6.o
obj-$(CONFIG_CRYPTO_ARC4) += arc4.o


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/