openssl/util
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
..
perl fips selftest: avoid relying on a real RNG for self tests 2023-09-27 17:22:54 +01:00
platform_symbols Create a rudimentary symbol scanning script 2023-11-01 16:32:26 +01:00
add-depends.pl
build.info quicserver.c: Use BIO_printf to stderr instead of plain printf 2023-08-14 15:53:44 +02:00
c-compress-test.pl
cavs-to-evptest.pl
check-format-test-negatives.c
check-format-test-positives.c
check-format.pl Copyright year updates 2023-09-07 09:59:15 +01:00
check-malloc-errs
checkplatformsyms.pl Create a rudimentary symbol scanning script 2023-11-01 16:32:26 +01:00
ck_errf.pl
copy.pl
ctags.sh Fix new typos found by codespell 2023-06-18 16:53:09 +10:00
dofile.pl
echo.pl
engines.num
err-to-raise
find-doc-nits Copyright year updates 2023-09-07 09:59:15 +01:00
find-unused-errs
fips-checksums.sh
fix-deprecation
fix-includes
fix-includes.sed
help.pl Add "make help" option 2023-03-06 08:00:58 +11:00
indent.pro Removed unused struct ssl3_comp_st 2023-08-29 16:59:54 +02:00
lang-compress.pl
libcrypto.num Add EVP_DigestSqueeze() API. 2023-11-10 13:27:00 +01:00
libssl.num QUIC APL: Allow stream origin to be queried 2023-09-01 14:02:50 +01:00
markdownlint.rb Adjust mdl configuration 2023-10-24 17:34:07 +01:00
merge-err-lines
missingcrypto111.txt
missingcrypto-internal.txt
missingcrypto.txt man: update missingcrypto.txt file 2023-08-30 15:51:47 +01:00
missingmacro111.txt
missingmacro.txt
missingssl111.txt
missingssl-internal.txt
missingssl.txt Add documentation for the function SSL_CONF_CTX_finish. 2023-09-20 10:25:51 +10:00
mk-fipsmodule-cnf.pl Copyright year updates 2023-09-07 09:59:15 +01:00
mkbuildinf.pl
mkdef.pl
mkdir-p.pl
mkerr.pl Copyright year updates 2023-09-07 09:59:15 +01:00
mknum.pl
mkpod2html.pl
mkrc.pl
mktar.sh
opensslwrap.sh
other-internal.syms
other.syms QUIC API: Revise SSL_get_conn_close_info to use a flags field 2023-09-01 14:02:50 +01:00
providers.num
quicserver.c Fix quicserver binding when duplicate entries exist 2023-11-02 11:26:21 +00:00
shlib_wrap.sh.in
su-filter.pl
withlibctx.pl
wrap.pl.in Fix util/wrap.pl.in for VMS usage 2023-03-08 12:29:22 +01:00
write-man-symlinks