openssl/include/crypto
James Muir 836080a89a Support all five EdDSA instances from RFC 8032
Fixes #6277

Description:
Make each of the five EdDSA instances defined in RFC 8032 -- Ed25519,
Ed25519ctx, Ed25519ph, Ed448, Ed448ph -- available via the EVP APIs.

The desired EdDSA instance is specified via an OSSL_PARAM.

All instances, except for Ed25519, allow context strings as input.
Context strings are passed via an OSSL_PARAM.  For Ed25519ctx, the
context string must be nonempty.

Ed25519, Ed25519ctx, Ed448 are PureEdDSA instances, which means that
the full message (not a digest) must be passed to sign and verify
operations.

Ed25519ph, Ed448ph are HashEdDSA instances, which means that the input
message is hashed before sign and verify.

Testing:
All 21 test vectors from RFC 8032 have been added to evppkey_ecx.txt
(thanks to Shane Lontis for showing how to do that).  Those 21 test
vectors are exercised by evp_test.c and cover all five instances.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/19705)
2023-01-13 07:09:09 +00:00
..
__DECC_INCLUDE_EPILOGUE.H
__DECC_INCLUDE_PROLOGUE.H
aes_platform.h Do not build P10-specific AES-GCM assembler on AIX 2022-12-14 12:53:05 +01:00
aria.h
asn1_dsa.h
asn1.h libcrypto and test: rename asn1_string_to_time_t to ossl_asn1_string_to_time_t 2022-07-19 08:44:19 +02:00
asn1err.h
async.h
asyncerr.h
bioerr.h BIO_dgram support for BIO_sendmmsg/BIO_recvmmsg 2022-09-01 18:03:10 +10:00
bn_conf.h.in
bn_dh.h
bn_srp.h
bn.h Improve FIPS RSA keygen performance. 2022-11-23 08:27:08 +01:00
bnerr.h RSA keygen update: Raise an error if no prime candidate q is found. 2022-06-13 10:56:31 +02:00
buffererr.h
chacha.h
cmll_platform.h
cmperr.h CMP+CRMF: fix formatting nits in crypto/, include/, and test/ 2022-11-24 13:45:06 +01:00
cmserr.h CMS sign digest 2022-04-02 10:42:16 -04:00
comperr.h
conferr.h
context.h Release the drbg in the global default context before engines 2022-11-02 11:01:20 +01:00
crmferr.h
cryptlib.h
cryptoerr.h err: add additional errors 2022-01-12 20:10:21 +11:00
cterr.h
ctype.h tolower: refine the tolower code to avoid a memory access 2022-05-23 09:51:28 +10:00
decoder.h Remove the _fetch_by_number functions 2022-05-06 10:38:55 +10:00
decodererr.h
des_platform.h
dh.h Update copyright year 2022-05-03 13:34:51 +01:00
dherr.h Stop raising ERR_R_MALLOC_FAILURE in most places 2022-10-05 14:02:03 +02:00
dsa.h Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
dsaerr.h
dso_conf.h.in
ec.h Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
ecerr.h Add error code for unsupported explicit parameters 2022-04-14 08:51:18 +02:00
ecx.h Support all five EdDSA instances from RFC 8032 2023-01-13 07:09:09 +00:00
encoder.h Remove the _fetch_by_number functions 2022-05-06 10:38:55 +10:00
encodererr.h
engine.h
engineerr.h
err.h
ess.h
esserr.h
evp.h Propagate selection all the way on key export 2022-11-15 12:04:12 +01:00
evperr.h
httperr.h
lhash.h
md32_common.h Add ROTATE inline asm support for SM3 2022-06-22 12:46:50 +02:00
modes.h providers: Add SM4 XTS implementation 2022-11-29 16:17:30 +01:00
objects.h
objectserr.h
ocsperr.h
pem.h Fix copyrights 2022-02-03 13:56:38 +01:00
pemerr.h
pkcs7.h
pkcs7err.h
pkcs12err.h Allow PKCS12 export to set arbitrary bag attributes 2022-09-23 17:40:02 +01:00
poly1305.h
ppc_arch.h Update copyright year 2022-05-03 13:34:51 +01:00
punycode.h fuzz: add punycode decoder fuzz test 2022-11-11 08:14:48 +11:00
rand_pool.h
rand.h Pre-declare all core dispatch table functions, and fix the internal ones 2022-07-13 07:56:51 +02:00
randerr.h
riscv_arch.def Add riscv scalar crypto extension capability 2022-06-10 11:45:41 +02:00
riscv_arch.h Add basic RISC-V cpuid and OPENSSL_riscvcap 2022-05-19 16:32:49 +10:00
rsa.h rsa: add implicit rejection in PKCS#1 v1.5 2022-12-12 11:30:52 +01:00
rsaerr.h
security_bits.h
sha.h
siphash.h
siv.h
sm2.h
sm2err.h
sm4_platform.h Apply SM4 optimization patch to Kunpeng-920 2022-11-02 08:45:10 +11:00
sm4.h
sparc_arch.h
sparse_array.h
store.h Add method store cache flush and method removal to non-EVP operations 2022-05-05 15:06:12 +02:00
storeerr.h
tserr.h
types.h
uierr.h
x509.h X509: clean up doc and implementation of X509{,_REQ}_check_private_key() 2022-08-24 11:27:12 +02:00
x509err.h x509_att.c: improve error checking and reporting and coding style 2022-08-24 11:25:04 +02:00
x509v3err.h