openssl/doc/man7
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
..
img doc: add PKEY life cycle documentation 2021-06-08 18:59:25 +10:00
EVP_ASYM_CIPHER-RSA.pod Add doc for EVP_ASYM_CIPHER-RSA and clean up OSSL_PROVIDER-FIPS.pod. 2022-11-18 14:29:01 +01:00
EVP_ASYM_CIPHER-SM2.pod
EVP_CIPHER-AES.pod Update fips version check to be more robust 2022-11-30 07:51:02 +11:00
EVP_CIPHER-ARIA.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-BLOWFISH.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-CAMELLIA.pod Add support for camellia cbc cts mode 2021-08-18 08:38:40 +10:00
EVP_CIPHER-CAST.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-CHACHA.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-DES.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-IDEA.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-RC2.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-RC4.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-RC5.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-SEED.pod Add Docs for EVP_CIPHER-* 2021-05-28 14:29:13 +02:00
EVP_CIPHER-SM4.pod doc: add note for sm4 xts 2022-11-29 16:18:07 +01:00
EVP_KDF-HKDF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-HMAC-DRBG.pod Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
EVP_KDF-KB.pod Add KMAC support to KBKDF. 2022-12-16 16:36:49 +01:00
EVP_KDF-KRB5KDF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-PBKDF1.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-PBKDF2.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-PKCS12KDF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-PVKKDF.pod Fix version mistake in some HISTORY sections 2022-11-23 08:23:17 +01:00
EVP_KDF-SCRYPT.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-SS.pod SSKDF with KMAC should return SIZE_MAX when EVP_KDF_CTX_get_kdf_size() 2023-01-12 12:13:47 +01:00
EVP_KDF-SSHKDF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-TLS1_PRF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-TLS13_KDF.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-X942-ASN1.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-X942-CONCAT.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KDF-X963.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KEM-EC.pod Add HISTORY section to EVP_KEM-EC document. 2022-11-24 06:39:22 +00:00
EVP_KEM-RSA.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
EVP_KEM-X25519.pod Fix version mistake in some HISTORY sections 2022-11-23 08:23:17 +01:00
EVP_KEYEXCH-DH.pod Update copyright year 2022-05-03 13:34:51 +01:00
EVP_KEYEXCH-ECDH.pod Update copyright year 2022-05-03 13:34:51 +01:00
EVP_KEYEXCH-X25519.pod
EVP_MAC-BLAKE2.pod
EVP_MAC-CMAC.pod cmac_set_ctx_params(): Fail if cipher mode is not CBC 2022-11-11 16:54:50 +01:00
EVP_MAC-GMAC.pod
EVP_MAC-HMAC.pod
EVP_MAC-KMAC.pod Add KMAC support to KBKDF. 2022-12-16 16:36:49 +01:00
EVP_MAC-Poly1305.pod
EVP_MAC-Siphash.pod
EVP_MD-BLAKE2.pod Update copyright year 2022-05-03 13:34:51 +01:00
EVP_MD-KECCAK.pod Add default provider support for Keccak 224, 256, 384 and 512 2021-09-23 12:07:57 +10:00
EVP_MD-MD2.pod
EVP_MD-MD4.pod
EVP_MD-MD5-SHA1.pod
EVP_MD-MD5.pod
EVP_MD-MDC2.pod
EVP_MD-RIPEMD160.pod ripemd: document as being present in the default provider 2022-10-19 13:21:01 +02:00
EVP_MD-SHA1.pod
EVP_MD-SHA2.pod
EVP_MD-SHA3.pod
EVP_MD-SHAKE.pod SHAKE documentation updates for default output length. 2022-08-17 16:17:42 +02:00
EVP_MD-SM3.pod
EVP_MD-WHIRLPOOL.pod
EVP_MD-common.pod Update copyright year 2021-06-17 13:24:59 +01:00
EVP_PKEY-DH.pod Add documentation for key validation that indicates the difference between the 2022-05-09 10:07:42 +10:00
EVP_PKEY-DSA.pod Add documentation for key validation that indicates the difference between the 2022-05-09 10:07:42 +10:00
EVP_PKEY-EC.pod Honor OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT as set and default to UNCOMPRESSED 2022-11-29 16:03:04 +01:00
EVP_PKEY-FFC.pod Add documentation for key validation that indicates the difference between the 2022-05-09 10:07:42 +10:00
EVP_PKEY-HMAC.pod
EVP_PKEY-RSA.pod Add documentation for key validation that indicates the difference between the 2022-05-09 10:07:42 +10:00
EVP_PKEY-SM2.pod Documentation: SM2 keys can use only the SM2 curve 2021-06-24 11:29:58 +02:00
EVP_PKEY-X25519.pod Add HPKE DHKEM provider support for EC, X25519 and X448. 2022-09-23 09:24:47 +01:00
EVP_RAND-CTR-DRBG.pod Fix docs related to EVP_RAND_CTX_new() that were not passing the parent 2022-11-30 07:31:53 +00:00
EVP_RAND-HASH-DRBG.pod Fix docs related to EVP_RAND_CTX_new() that were not passing the parent 2022-11-30 07:31:53 +00:00
EVP_RAND-HMAC-DRBG.pod Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
EVP_RAND-SEED-SRC.pod Fix docs related to EVP_RAND_CTX_new() that were not passing the parent 2022-11-30 07:31:53 +00:00
EVP_RAND-TEST-RAND.pod Fix docs related to EVP_RAND_CTX_new() that were not passing the parent 2022-11-30 07:31:53 +00:00
EVP_RAND.pod
EVP_SIGNATURE-DSA.pod Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
EVP_SIGNATURE-ECDSA.pod Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
EVP_SIGNATURE-ED25519.pod Support all five EdDSA instances from RFC 8032 2023-01-13 07:09:09 +00:00
EVP_SIGNATURE-HMAC.pod
EVP_SIGNATURE-RSA.pod signature: Clamp PSS salt len to MD len 2022-12-08 11:02:52 +01:00
OSSL_PROVIDER-FIPS.pod fips prov: remove 3DES from list of inclusions 2022-11-30 07:51:03 +11:00
OSSL_PROVIDER-base.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
OSSL_PROVIDER-default.pod Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
OSSL_PROVIDER-legacy.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
OSSL_PROVIDER-null.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
RAND.pod Fix heading in random generator man7 page 2021-10-08 12:09:46 +10:00
RSA-PSS.pod
X25519.pod
bio.pod Change all references to OpenSSL 3.1 to OpenSSL 3.2 in the master branch 2022-10-07 10:05:50 +02:00
crypto.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
ct.pod
des_modes.pod
evp.pod
fips_module.pod Add missing HISTORY sections for OpenSSL 3.0 related documents. 2022-11-21 12:03:10 +01:00
life_cycle-cipher.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
life_cycle-digest.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
life_cycle-kdf.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
life_cycle-mac.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
life_cycle-pkey.pod Update copyright year 2022-05-03 13:34:51 +01:00
life_cycle-rand.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
migration_guide.pod Add empty migration guide for 3.1 2023-01-11 17:20:02 +01:00
openssl-core.h.pod Move the description of the core types into their own pages 2022-12-08 07:32:34 +01:00
openssl-core_dispatch.h.pod
openssl-core_names.h.pod
openssl-env.pod Add basic RISC-V cpuid and OPENSSL_riscvcap 2022-05-19 16:32:49 +10:00
openssl-glossary.pod Update copyright year 2022-05-03 13:34:51 +01:00
openssl-threads.pod doc: add note to indicate that the OBJ_ functions were not thread safe in 3.0 2021-09-25 10:39:20 +10:00
openssl_user_macros.pod.in Update copyright year 2021-07-29 15:41:35 +01:00
ossl_store-file.pod
ossl_store.pod doc: fix macro name 2021-11-25 16:04:05 +10:00
passphrase-encoding.pod Update copyright year 2021-09-07 13:35:43 +02:00
property.pod doc: document that property names are unique 2021-10-09 23:29:13 +10:00
provider-asym_cipher.pod Fixed typos in documentation and comments 2023-01-04 12:53:05 +01:00
provider-base.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-cipher.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-decoder.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-digest.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-encoder.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-kdf.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-kem.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-keyexch.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-keymgmt.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-mac.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-object.pod Update copyright year 2022-05-03 13:34:51 +01:00
provider-rand.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-signature.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider-storemgmt.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
provider.pod Replace some boldened types with a corresponding man page link 2022-12-08 07:32:34 +01:00
proxy-certificates.pod doc: remove end of line whitespace 2021-09-22 16:22:50 +10:00
ssl.pod
x509.pod