diff options
author | David McCullough <david_mccullough@mcafee.com> | 2012-09-07 04:17:02 +0800 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2016-03-11 15:56:21 +0100 |
commit | 84cd79805de7aa5fb5d9e0bec93305917e5bb000 (patch) | |
tree | 8a452086f8ed2bdbec2af8408f0d618695d2cb45 /crypto | |
parent | 3091c123fd3a4c35adf1d78eb1cfe5f6d5b57676 (diff) | |
download | kernel_samsung_espresso10-84cd79805de7aa5fb5d9e0bec93305917e5bb000.zip kernel_samsung_espresso10-84cd79805de7aa5fb5d9e0bec93305917e5bb000.tar.gz kernel_samsung_espresso10-84cd79805de7aa5fb5d9e0bec93305917e5bb000.tar.bz2 |
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%
Change-Id: I5b77e7aa89c8b1d54aef75065827325e90305638
Signed-off-by: David McCullough <ucdevel@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 87b22ca..3098da3 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -407,6 +407,15 @@ config CRYPTO_SHA1 help SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2). +config CRYPTO_SHA1_ARM + tristate "SHA1 digest algorithm (ARM-asm)" + depends on ARM + select CRYPTO_SHA1 + select CRYPTO_HASH + help + SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented + using optimized ARM assembler. + config CRYPTO_SHA256 tristate "SHA224 and SHA256 digest algorithm" select CRYPTO_HASH @@ -562,6 +571,30 @@ config CRYPTO_AES_NI_INTEL ECB, CBC, LRW, PCBC, XTS. The 64 bit version has additional acceleration for CTR. +config CRYPTO_AES_ARM + tristate "AES cipher algorithms (ARM-asm)" + depends on ARM + select CRYPTO_ALGAPI + select CRYPTO_AES + help + Use optimized AES assembler routines for ARM platforms. + + AES cipher algorithms (FIPS-197). AES uses the Rijndael + algorithm. + + 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_ANUBIS tristate "Anubis cipher algorithm" select CRYPTO_ALGAPI |