openssl/include/crypto
wangcheng 4c41aa4b33 Add CTX copy function for EVP_MD to optimize the performance of EVP_MD_CTX_copy_ex.
1. Add OSSL_FUNC_digest_copyctx_fn function for EVP_MD, which is used to copy algctx from the old EVP_MD_CTX to the new one.

2. Add implementation of OSSL_FUNC_digest_copyctx_fn function for default providers.

3. Modify EVP_MD_CTX_copy_ex: When the fetched digest is the same in in and out contexts, use the copy function to copy the members in EVP_MD_CTX if the OSSL_FUNC_digest_copyctx_fn function exists. Otherwise, use the previous method to copy.

4. Add documentation for OSSL_FUNC_digest_copyctx function in doc/man7/provider-digest.pod.

5. Add testcase.

Fixes #25703

Signed-off-by: wangcheng <bangwangnj@163.com>

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25726)
2024-11-20 14:12:53 +01:00
..
__DECC_INCLUDE_EPILOGUE.H
__DECC_INCLUDE_PROLOGUE.H
aes_platform.h enable AES-XTS optimization for AIX 2024-05-30 18:46:43 +02:00
aria.h
asn1_dsa.h
asn1.h Copyright year updates 2024-09-05 09:35:49 +02:00
asn1err.h
async.h
asyncerr.h
bioerr.h
bn_conf.h.in
bn_dh.h
bn_srp.h
bn.h Fix '--strict-warnings' build breakage 2024-08-07 19:24:57 +02:00
bnerr.h
buffererr.h
chacha.h
cmac.h Add FIPS indicator to CMAC. 2024-07-31 09:04:17 +10:00
cmll_platform.h
cmperr.h
cmserr.h
comperr.h
conferr.h
context.h Copyright year updates 2024-09-05 09:35:49 +02:00
crmferr.h
cryptlib.h
cryptoerr.h Use the new hashtable for core_namemap 2024-08-21 15:21:26 +02:00
cterr.h
ctype.h
decoder.h
decodererr.h
des_platform.h
dh.h
dherr.h
dsa.h
dsaerr.h
dso_conf.h.in
ec.h
ecerr.h
ecx.h Copyright year updates 2024-09-05 09:35:49 +02:00
encoder.h
encodererr.h
engine.h
engineerr.h
err.h
ess.h
esserr.h
evp.h Add CTX copy function for EVP_MD to optimize the performance of EVP_MD_CTX_copy_ex. 2024-11-20 14:12:53 +01:00
evperr.h
httperr.h
lhash.h
md32_common.h
modes.h
objects.h
objectserr.h
ocsperr.h
pem.h
pemerr.h
pkcs7.h
pkcs7err.h
pkcs12err.h
poly1305.h
ppc_arch.h
punycode.h
rand_pool.h
rand.h
randerr.h
riscv_arch.def Copyright year updates 2024-09-05 09:35:49 +02:00
riscv_arch.h Fix builds on riscv64 using musl 2024-10-28 15:44:44 -04:00
rsa.h RSA decoder should check also sanity of p, q, e, d ... with respect to n 2024-08-28 16:50:46 +02:00
rsaerr.h
security_bits.h
sha.h
siphash.h
siv.h
sm2.h
sm2err.h
sm4_platform.h Copyright year updates 2024-09-05 09:35:49 +02:00
sm4.h
sparc_arch.h
sparse_array.h
store.h
storeerr.h
tserr.h
types.h
uierr.h
x509_acert.h Copyright year updates 2024-09-05 09:35:49 +02:00
x509.h feat: define and use ossl_bio_print_hex 2024-11-13 11:53:34 +01:00
x509err.h
x509v3err.h