diff options
author | Ondrej Mosnacek <omosnacek@gmail.com> | 2018-05-11 14:19:12 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-05-19 00:15:35 +0800 |
commit | 6ecc9d9ff91ff26769e58164b6216c6189cb8302 (patch) | |
tree | 50cebb838d99b9e520af30f0842177d196aba3a7 /crypto | |
parent | 56e8e57fc3a707bf4f23f88c4822e6cbc9a950dc (diff) | |
download | linux-6ecc9d9ff91ff26769e58164b6216c6189cb8302.tar.gz linux-6ecc9d9ff91ff26769e58164b6216c6189cb8302.tar.bz2 linux-6ecc9d9ff91ff26769e58164b6216c6189cb8302.zip |
crypto: x86 - Add optimized MORUS implementations
This patch adds optimized implementations of MORUS-640 and MORUS-1280,
utilizing the SSE2 and AVX2 x86 extensions.
For MORUS-1280 (which operates on 256-bit blocks) we provide both AVX2
and SSE2 implementation. Although SSE2 MORUS-1280 is slower than AVX2
MORUS-1280, it is comparable in speed to the SSE2 MORUS-640.
Signed-off-by: Ondrej Mosnacek <omosnacek@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/Kconfig | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig index 4761667fbcf9..75f5efde9aa3 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -348,6 +348,14 @@ config CRYPTO_MORUS640_GLUE Common glue for SIMD optimizations of the MORUS-640 dedicated AEAD algorithm. +config CRYPTO_MORUS640_SSE2 + tristate "MORUS-640 AEAD algorithm (x86_64 SSE2 implementation)" + depends on X86 && 64BIT + select CRYPTO_AEAD + select CRYPTO_MORUS640_GLUE + help + SSE2 implementation of the MORUS-640 dedicated AEAD algorithm. + config CRYPTO_MORUS1280 tristate "MORUS-1280 AEAD algorithm" select CRYPTO_AEAD @@ -362,6 +370,24 @@ config CRYPTO_MORUS1280_GLUE Common glue for SIMD optimizations of the MORUS-1280 dedicated AEAD algorithm. +config CRYPTO_MORUS1280_SSE2 + tristate "MORUS-1280 AEAD algorithm (x86_64 SSE2 implementation)" + depends on X86 && 64BIT + select CRYPTO_AEAD + select CRYPTO_MORUS1280_GLUE + help + SSE2 optimizedimplementation of the MORUS-1280 dedicated AEAD + algorithm. + +config CRYPTO_MORUS1280_AVX2 + tristate "MORUS-1280 AEAD algorithm (x86_64 AVX2 implementation)" + depends on X86 && 64BIT + select CRYPTO_AEAD + select CRYPTO_MORUS1280_GLUE + help + AVX2 optimized implementation of the MORUS-1280 dedicated AEAD + algorithm. + config CRYPTO_SEQIV tristate "Sequence Number IV Generator" select CRYPTO_AEAD |