aboutsummaryrefslogtreecommitdiffstats
path: root/lib/zinc/Kconfig
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-08-07 10:26:49 -0700
committerJason A. Donenfeld <Jason@zx2c4.com>2019-03-22 00:50:54 -0600
commitfca5661782e67311657d7bb52bfcc28119d6024a (patch)
tree33d7f0dab29bc3be15a588e057db2d280c663928 /lib/zinc/Kconfig
parentzinc: BLAKE2s x86_64 implementation (diff)
downloadlinux-dev-fca5661782e67311657d7bb52bfcc28119d6024a.tar.xz
linux-dev-fca5661782e67311657d7bb52bfcc28119d6024a.zip
zinc: Curve25519 generic C implementations and selftest
This contains two formally verified C implementations of the Curve25519 scalar multiplication function, one for 32-bit systems, and one for 64-bit systems whose compiler supports efficient 128-bit integer types. Not only are these implementations formally verified, but they are also the fastest available C implementations. They have been modified to be friendly to kernel space and to be generally less horrendous looking, but still an effort has been made to retain their formally verified characteristic, and so the C might look slightly unidiomatic. The 64-bit version comes from HACL*: https://github.com/project-everest/hacl-star The 32-bit version comes from Fiat: https://github.com/mit-plv/fiat-crypto Information: https://cr.yp.to/ecdh.html Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Cc: Karthikeyan Bhargavan <karthik.bhargavan@gmail.com> Cc: Samuel Neves <sneves@dei.uc.pt> Cc: Jean-Philippe Aumasson <jeanphilippe.aumasson@gmail.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Greg KH <gregkh@linuxfoundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: kernel-hardening@lists.openwall.com Cc: linux-crypto@vger.kernel.org
Diffstat (limited to 'lib/zinc/Kconfig')
-rw-r--r--lib/zinc/Kconfig4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/zinc/Kconfig b/lib/zinc/Kconfig
index 4239eeea4121..db8e07df55c4 100644
--- a/lib/zinc/Kconfig
+++ b/lib/zinc/Kconfig
@@ -14,6 +14,10 @@ config ZINC_CHACHA20POLY1305
config ZINC_BLAKE2S
tristate
+config ZINC_CURVE25519
+ tristate
+ select CONFIG_CRYPTO
+
config ZINC_SELFTEST
bool "Zinc cryptography library self-tests"
default y