summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2018-12-04 22:20:00 -0800
committerHerbert Xu <herbert@gondor.apana.org.au>2018-12-13 18:24:57 +0800
commit012c82388c032cd4a9821e11bae336cf4a014822 (patch)
tree9e3e12eaac57e8c8ba9122ad20ba09ee81a76a19 /crypto
parentb299362ee48db8eab34208302ee9730ff9d6091c (diff)
downloadlinux-012c82388c032cd4a9821e11bae336cf4a014822.tar.bz2
crypto: x86/nhpoly1305 - add SSE2 accelerated NHPoly1305
Add a 64-bit SSE2 implementation of NHPoly1305, an ε-almost-∆-universal hash function used in the Adiantum encryption mode. For now, only the NH portion is actually SSE2-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 5994d0fa7a78..cd3d9cb3482c 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -501,6 +501,14 @@ config CRYPTO_NHPOLY1305
select CRYPTO_HASH
select CRYPTO_POLY1305
+config CRYPTO_NHPOLY1305_SSE2
+ tristate "NHPoly1305 hash function (x86_64 SSE2 implementation)"
+ depends on X86 && 64BIT
+ select CRYPTO_NHPOLY1305
+ help
+ SSE2 optimized implementation of the hash function used by the
+ Adiantum encryption mode.
+
config CRYPTO_ADIANTUM
tristate "Adiantum support"
select CRYPTO_CHACHA20