|author||David McCullough <email@example.com>||2012-09-07 04:17:02 +0800|
|committer||Herbert Xu <firstname.lastname@example.org>||2012-09-07 04:17:02 +0800|
arm/crypto: Add optimized AES and SHA1 routines
Add assembler versions of AES and SHA1 for ARM platforms. This has provided up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1. Platform CPU SPeed Endian Before (bps) After (bps) Improvement IXP425 533 MHz big 11217042 15566294 ~38% KS8695 166 MHz little 3828549 5795373 ~51% Signed-off-by: David McCullough <email@example.com> Signed-off-by: Herbert Xu <firstname.lastname@example.org>
Diffstat (limited to 'crypto')
1 files changed, 33 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 213fb37be51..27307981f88 100644
@@ -433,6 +433,15 @@ config CRYPTO_SHA1_SSSE3
using Supplemental SSE3 (SSSE3) instructions or Advanced Vector
Extensions (AVX), when available.
+ tristate "SHA1 digest algorithm (ARM-asm)"
+ depends on ARM
+ select CRYPTO_SHA1
+ select CRYPTO_HASH
+ SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
+ using optimized ARM assembler.
tristate "SHA224 and SHA256 digest algorithm"
@@ -590,6 +599,30 @@ config CRYPTO_AES_NI_INTEL
ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional
acceleration for CTR.
+ tristate "AES cipher algorithms (ARM-asm)"
+ depends on ARM
+ select CRYPTO_ALGAPI
+ select CRYPTO_AES
+ Use optimized AES assembler routines for ARM platforms.
+ AES cipher algorithms (FIPS-197). AES uses the Rijndael
+ 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.
tristate "Anubis cipher algorithm"