summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2018-12-05 07:20:01 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2018-12-13 11:24:57 +0100
commit0f961f9f670e7c07690bfde2f533b93c653569cc (patch)
treed54b424f9468c1cde6deacae580044748f9f7628 /crypto
parentcrypto: x86/nhpoly1305 - add SSE2 accelerated NHPoly1305 (diff)
downloadlinux-0f961f9f670e7c07690bfde2f533b93c653569cc.tar.xz
linux-0f961f9f670e7c07690bfde2f533b93c653569cc.zip
crypto: x86/nhpoly1305 - add AVX2 accelerated NHPoly1305
Add a 64-bit AVX2 implementation of NHPoly1305, an ε-almost-∆-universal hash function used in the Adiantum encryption mode. For now, only the NH portion is actually AVX2-accelerated; the Poly1305 part is less performance-critical so is just implemented in C. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index cd3d9cb3482c..d0bff6ea6b10 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -509,6 +509,14 @@ config CRYPTO_NHPOLY1305_SSE2
SSE2 optimized implementation of the hash function used by the
Adiantum encryption mode.
+config CRYPTO_NHPOLY1305_AVX2
+ tristate "NHPoly1305 hash function (x86_64 AVX2 implementation)"
+ depends on X86 && 64BIT
+ select CRYPTO_NHPOLY1305
+ help
+ AVX2 optimized implementation of the hash function used by the
+ Adiantum encryption mode.
+
config CRYPTO_ADIANTUM
tristate "Adiantum support"
select CRYPTO_CHACHA20