aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/Kconfig
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2013-04-13 06:47:00 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2013-04-25 09:09:07 -0400
commitf3f935a76aa0eee68da2b273a08d84ba8ffc7a73 (patch)
treec33db3ca826852d1f5b66ec48e08a08b0e273b78 /crypto/Kconfig
parent56d76c96a9f3e39ab733c5643b3ce5a1d4be242a (diff)
crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
Patch adds AVX2/AES-NI/x86-64 implementation of Camellia cipher, requiring 32 parallel blocks for input (512 bytes). Compared to AVX implementation, this version is extended to use the 256-bit wide YMM registers. For AES-NI instructions data is split to two 128-bit registers and merged afterwards. Even with this additional handling, performance should be higher compared to the AES-NI/AVX implementation. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/Kconfig')
-rw-r--r--crypto/Kconfig23
1 files changed, 23 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 9ad3d78c1075..622d8a48cbe9 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -894,6 +894,29 @@ config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
894 See also: 894 See also:
895 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html> 895 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
896 896
897config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
898 tristate "Camellia cipher algorithm (x86_64/AES-NI/AVX2)"
899 depends on X86 && 64BIT
900 depends on CRYPTO
901 select CRYPTO_ALGAPI
902 select CRYPTO_CRYPTD
903 select CRYPTO_ABLK_HELPER_X86
904 select CRYPTO_GLUE_HELPER_X86
905 select CRYPTO_CAMELLIA_X86_64
906 select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
907 select CRYPTO_LRW
908 select CRYPTO_XTS
909 help
910 Camellia cipher algorithm module (x86_64/AES-NI/AVX2).
911
912 Camellia is a symmetric key block cipher developed jointly
913 at NTT and Mitsubishi Electric Corporation.
914
915 The Camellia specifies three key sizes: 128, 192 and 256 bits.
916
917 See also:
918 <https://info.isl.ntt.co.jp/crypt/eng/camellia/index_s.html>
919
897config CRYPTO_CAMELLIA_SPARC64 920config CRYPTO_CAMELLIA_SPARC64
898 tristate "Camellia cipher algorithm (SPARC64)" 921 tristate "Camellia cipher algorithm (SPARC64)"
899 depends on SPARC64 922 depends on SPARC64