diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-04-13 06:47:00 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2013-04-25 09:09:07 -0400 |
commit | f3f935a76aa0eee68da2b273a08d84ba8ffc7a73 (patch) | |
tree | c33db3ca826852d1f5b66ec48e08a08b0e273b78 /crypto/Kconfig | |
parent | 56d76c96a9f3e39ab733c5643b3ce5a1d4be242a (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/Kconfig | 23 |
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 | ||
897 | config 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 | |||
897 | config CRYPTO_CAMELLIA_SPARC64 | 920 | config CRYPTO_CAMELLIA_SPARC64 |
898 | tristate "Camellia cipher algorithm (SPARC64)" | 921 | tristate "Camellia cipher algorithm (SPARC64)" |
899 | depends on SPARC64 | 922 | depends on SPARC64 |