linux/lib/crypto
Jason A. Donenfeld 0ed42a6f43 crypto: curve25519 - generic C library implementations
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>
[ardb: - move from lib/zinc to lib/crypto
       - replace .c #includes with Kconfig based object selection
       - drop simd handling and simplify support for per-arch versions ]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2019-11-17 09:02:43 +08:00
..
aes.c crypto: aes - helper function to validate key length for AES algorithms 2019-08-09 15:11:43 +10:00
arc4.c crypto: arc4 - refactor arc4 core code into separate library 2019-06-20 14:18:33 +08:00
blake2s-generic.c crypto: blake2s - generic C library implementation and selftest 2019-11-17 09:02:42 +08:00
blake2s-selftest.c crypto: blake2s - generic C library implementation and selftest 2019-11-17 09:02:42 +08:00
blake2s.c crypto: blake2s - generic C library implementation and selftest 2019-11-17 09:02:42 +08:00
chacha.c crypto: chacha - move existing library code into lib/crypto 2019-11-17 09:02:39 +08:00
curve25519-fiat32.c crypto: curve25519 - generic C library implementations 2019-11-17 09:02:43 +08:00
curve25519-hacl64.c crypto: curve25519 - generic C library implementations 2019-11-17 09:02:43 +08:00
curve25519.c crypto: curve25519 - generic C library implementations 2019-11-17 09:02:43 +08:00
des.c crypto: des - split off DES library from generic DES cipher driver 2019-08-22 14:57:33 +10:00
Kconfig crypto: curve25519 - generic C library implementations 2019-11-17 09:02:43 +08:00
libchacha.c crypto: chacha - move existing library code into lib/crypto 2019-11-17 09:02:39 +08:00
Makefile crypto: curve25519 - generic C library implementations 2019-11-17 09:02:43 +08:00
poly1305.c crypto: poly1305 - expose init/update/final library interface 2019-11-17 09:02:41 +08:00
sha256.c crypto: sha256 - Remove sha256/224_init code duplication 2019-09-05 14:54:54 +10:00