]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
crypto: blake2s - generic C library implementation and selftest
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 8 Nov 2019 12:22:28 +0000 (13:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Jun 2022 09:46:27 +0000 (11:46 +0200)
commit6adb419f06ffd185cbca84781846fe6054cf3d8e
treee117efb6db3874a0ef8c903293205bf94f81a56c
parenta83bdc0830f6b421384dd15e812de68d70773600
crypto: blake2s - generic C library implementation and selftest

commit 66d7fb94e4ffe5acc589e0b2b4710aecc1f07a28 upstream.

The C implementation was originally based on Samuel Neves' public
domain reference implementation but has since been heavily modified
for the kernel. We're able to do compile-time optimizations by moving
some scaffolding around the final function into the header file.

Information: https://blake2.net/

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
Co-developed-by: Samuel Neves <sneves@dei.uc.pt>
[ardb: - move from lib/zinc to lib/crypto
       - remove simd handling
       - rewrote selftest for better coverage
       - use fixed digest length for blake2s_hmac() and rename to
         blake2s256_hmac() ]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[Jason: for stable, skip kconfig and wire up directly, and skip the arch
 hooks; optimized implementations need not be backported.]
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/crypto/blake2s.h [new file with mode: 0644]
include/crypto/internal/blake2s.h [new file with mode: 0644]
lib/Makefile
lib/crypto/Makefile [new file with mode: 0644]
lib/crypto/blake2s-generic.c [new file with mode: 0644]
lib/crypto/blake2s-selftest.c [new file with mode: 0644]
lib/crypto/blake2s.c [new file with mode: 0644]