openssl/providers
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
..
common Implements Hybrid Public Key Encryption (HPKE) as per RFC9180. 2022-11-25 16:26:55 +00:00
fips fips: make EdDSA unapproved for FIPS 2023-01-13 09:47:52 +11:00
implementations Support all five EdDSA instances from RFC 8032 2023-01-13 07:09:09 +00:00
baseprov.c Cleanup : directly include of internal/nelem.h when required. 2022-11-23 18:08:25 +01:00
build.info Add VERSIONINFO resource to legacy provider if it is not builtin 2022-06-02 11:09:10 -04:00
decoders.inc Support decode SM2 parameters 2022-08-23 11:08:11 +10:00
defltprov.c Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
encoders.inc ENCODER PROV: Add encoders with EncryptedPrivateKeyInfo output 2021-09-05 21:34:51 +02:00
fips-sources.checksums make update 2021-07-29 15:50:27 +01:00
fips.checksum make update 2021-07-29 15:50:27 +01:00
fips.module.sources make update 2021-07-29 15:50:27 +01:00
legacyprov.c Fix regression in default key length for Blowfish CFB and OFB ciphers 2022-05-23 08:50:42 +02:00
nullprov.c null prov: fix gettable param array type. 2020-10-16 10:33:38 +10:00
prov_running.c keygen: add FIPS error state management to conditional self tests 2020-09-12 16:46:51 +10:00
stores.inc Add support for loading root CAs from Windows crypto API 2022-09-14 14:10:18 +01:00