linux/arch/x86/crypto
Huang Ying 2cf4ac8beb crypto: aes-ni - Add support for more modes
Because kernel_fpu_begin() and kernel_fpu_end() operations are too
slow, the performance gain of general mode implementation + aes-aesni
is almost all compensated.

The AES-NI support for more modes are implemented as follow:

- Add a new AES algorithm implementation named __aes-aesni without
  kernel_fpu_begin/end()

- Use fpu(<mode>(AES)) to provide kenrel_fpu_begin/end() invoking

- Add <mode>(AES) ablkcipher, which uses cryptd(fpu(<mode>(AES))) to
  defer cryption to cryptd context in soft_irq context.

Now the ctr, lrw, pcbc and xts support are added.

Performance testing based on dm-crypt shows that cryption time can be
reduced to 50% of general mode implementation + aes-aesni implementation.

Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-06-02 14:04:16 +10:00
..
aes_glue.c crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
aes-i586-asm_32.S crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
aes-x86_64-asm_64.S crypto: aes - Export x86 AES encrypt/decrypt functions 2009-02-18 16:48:05 +08:00
aesni-intel_asm.S crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform 2009-02-18 16:48:06 +08:00
aesni-intel_glue.c crypto: aes-ni - Add support for more modes 2009-06-02 14:04:16 +10:00
crc32c-intel.c crypto: crc32c-intel - Switch to shash 2008-12-25 11:01:37 +11:00
fpu.c crypto: fpu - Add template for blkcipher touching FPU 2009-06-02 14:04:15 +10:00
Makefile crypto: fpu - Add template for blkcipher touching FPU 2009-06-02 14:04:15 +10:00
salsa20_glue.c [CRYPTO] salsa20: Add x86-64 assembly version 2008-01-11 08:16:57 +11:00
salsa20-i586-asm_32.S [CRYPTO] salsa20_i586: Salsa20 stream cipher algorithm (i586 version) 2008-01-11 08:16:57 +11:00
salsa20-x86_64-asm_64.S [CRYPTO] salsa20: Add x86-64 assembly version 2008-01-11 08:16:57 +11:00
twofish_glue.c [CRYPTO] twofish: Merge common glue code 2008-01-14 17:07:57 +11:00
twofish-i586-asm_32.S i386: move crypto 2007-10-11 11:16:21 +02:00
twofish-x86_64-asm_64.S x86_64: move crypto 2007-10-11 11:17:03 +02:00