openssl/providers/implementations
slontis 5366490822 Add EVP_DigestSqueeze() API.
Fixes #7894

This allows SHAKE to squeeze multiple times with different output sizes.

The existing EVP_DigestFinalXOF() API has been left as a one shot
operation. A similar interface is used by another toolkit.

The low level SHA3_Squeeze() function needed to change slightly so
that it can handle multiple squeezes. This involves changing the
assembler code so that it passes a boolean to indicate whether
the Keccak function should be called on entry.
At the provider level, the squeeze is buffered, so that it only requests
a multiple of the blocksize when SHA3_Squeeze() is called. On the first
call the value is zero, on subsequent calls the value passed is 1.

This PR is derived from the excellent work done by @nmathewson in
https://github.com/openssl/openssl/pull/7921

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21511)
2023-11-10 13:27:00 +01:00
..
asymciphers Copyright year updates 2023-09-07 09:59:15 +01:00
ciphers update/final: Return error if key is not set 2023-11-03 13:36:13 +01:00
digests Add EVP_DigestSqueeze() API. 2023-11-10 13:27:00 +01:00
encode_decode Restore the meaning of EVP_PKEY_print_private() 2023-10-04 08:10:55 +02:00
exchange Copyright year updates 2023-09-07 09:59:15 +01:00
include/prov Implement BLAKE2s with the same macro as BLAKE2b 2023-11-08 09:42:13 +01:00
kdfs Accept longer context for TLS 1.2 exporters 2023-10-26 15:47:15 +01:00
kem Copyright year updates 2023-09-07 09:59:15 +01:00
keymgmt DH_check_pub_key() should not fail when setting result code 2023-10-11 16:22:27 +02:00
macs Avoid divide-by-zero in kmac_prov.c's bytepad() 2023-10-09 12:02:59 +02:00
rands rand: fix seeding from a weak entropy source 2023-10-24 11:14:11 +01:00
signature Copyright year updates 2023-09-07 09:59:15 +01:00
storemgmt Copyright year updates 2023-09-07 09:59:15 +01:00
build.info