freebsd-dev/sys/crypto
John Baldwin 6113a08b98 cryptosoft: Fully support per-operation keys for auth algorithms.
Only pre-allocate auth contexts when a session-wide key is provided or
for sessions without keys.  For sessions with per-operation keys,
always initialize the on-stack context directly rather than
initializing the session context in swcr_authprepare (now removed) and
then copying that session context into the on-stack context.

This approach permits parallel auth operations without needing a
serializing lock.  In addition, the previous code assumed that auth
sessions always provided an initial key unlike cipher sessions which
assume either an initial key or per-op keys.

While here, fix the Blake2 auth transforms to function like other auth
transforms where Setkey is invoked after Init rather than before.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33316
2021-12-09 11:52:42 -08:00
..
aesni crypto: Validate AES-GCM IV length in check_csp(). 2021-12-09 11:52:41 -08:00
armv8 crypto: Validate AES-GCM IV length in check_csp(). 2021-12-09 11:52:41 -08:00
blake2 cryptosoft: Fully support per-operation keys for auth algorithms. 2021-12-09 11:52:42 -08:00
camellia crypto(4): Fix a few typos in camellia.c 2021-09-04 13:02:11 +02:00
ccp crypto: Validate AES-GCM IV length in check_csp(). 2021-12-09 11:52:41 -08:00
chacha20 crypto: Permit variable-sized IVs for ciphers with a reinit hook. 2021-10-06 14:08:46 -07:00
des Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
libsodium Bring in compatibility glue for libsodium 2018-08-17 00:27:56 +00:00
openssl Add assembly optimized code for OpenSSL on powerpc, powerpc64 and powerpc64le 2021-11-23 23:26:53 +01:00
rc4
rijndael Consistently use C99 fixed-width types in the in-kernel crypto code. 2020-11-03 22:27:54 +00:00
sha2 libmd: Only define SHA256_Transform_c when using the ARM64 ifunc. 2021-12-08 14:25:02 -08:00
siphash
skein Consistently use C99 fixed-width types in the in-kernel crypto code. 2020-11-03 22:27:54 +00:00
via crypto: Constify all transform descriptors 2021-07-26 16:41:05 -04:00
intake.h
sha1.c Replace some K&R function definitions with ANSI C. 2020-11-03 22:32:30 +00:00
sha1.h Consistently use C99 fixed-width types in the in-kernel crypto code. 2020-11-03 22:27:54 +00:00