From: Dr. David von Oheimb Date: Fri, 7 Jul 2023 15:34:05 +0000 (+0200) Subject: EVP_PKEY_{en,de}capsulate.pod: fix glitches and add some detail and hints X-Git-Tag: openssl-3.1.2~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=06074ca9aecfc45bdfbf6444468fbf57fc6db4aa;p=thirdparty%2Fopenssl.git EVP_PKEY_{en,de}capsulate.pod: fix glitches and add some detail and hints Reviewed-by: Tomas Mraz Reviewed-by: Paul Dale Reviewed-by: David von Oheimb (Merged from https://github.com/openssl/openssl/pull/21397) (cherry picked from commit 5be8233d2be306a2906d3da16e59aa15a4559dd2) --- diff --git a/doc/man3/EVP_PKEY_decapsulate.pod b/doc/man3/EVP_PKEY_decapsulate.pod index 529e318f9eb..f9ddad7dff5 100644 --- a/doc/man3/EVP_PKEY_decapsulate.pod +++ b/doc/man3/EVP_PKEY_decapsulate.pod @@ -3,7 +3,7 @@ =head1 NAME EVP_PKEY_decapsulate_init, EVP_PKEY_decapsulate -- Key decapsulation using a private key algorithm +- Key decapsulation using a KEM algorithm with a private key =head1 SYNOPSIS @@ -11,7 +11,7 @@ EVP_PKEY_decapsulate_init, EVP_PKEY_decapsulate int EVP_PKEY_decapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]); int EVP_PKEY_decapsulate(EVP_PKEY_CTX *ctx, - unsigned char *secret, size_t *secretlen, + unsigned char *unwrapped, size_t *unwrappedlen, const unsigned char *wrapped, size_t wrappedlen); =head1 DESCRIPTION @@ -19,18 +19,20 @@ EVP_PKEY_decapsulate_init, EVP_PKEY_decapsulate The EVP_PKEY_decapsulate_init() function initializes a private key algorithm context I for a decapsulation operation and then sets the I on the context in the same way as calling L. +Note that I usually is produced using L, +specifying the private key to use. The EVP_PKEY_decapsulate() function performs a private key decapsulation operation using I. The data to be decapsulated is specified using the I and I parameters. -If I is I then the maximum size of the output secret buffer -is written to the I<*secretlen> parameter. If I is not B and the -call is successful then the decapsulated secret data is written to I and -the amount of data written to I. +If I is NULL then the maximum size of the output secret buffer +is written to I<*unwrappedlen>. If I is not NULL and the +call is successful then the decapsulated secret data is written to I +and the amount of data written to I<*unwrappedlen>. =head1 NOTES -After the call to EVP_PKEY_decapsulate_init() algorithm specific parameters +After the call to EVP_PKEY_decapsulate_init() algorithm-specific parameters for the operation may be set or modified using L. =head1 RETURN VALUES @@ -79,7 +81,7 @@ Decapsulate data using RSA: =head1 SEE ALSO -L, +L, L, L, diff --git a/doc/man3/EVP_PKEY_encapsulate.pod b/doc/man3/EVP_PKEY_encapsulate.pod index 9baf88d07be..338ed0ea527 100644 --- a/doc/man3/EVP_PKEY_encapsulate.pod +++ b/doc/man3/EVP_PKEY_encapsulate.pod @@ -3,7 +3,7 @@ =head1 NAME EVP_PKEY_encapsulate_init, EVP_PKEY_encapsulate -- Key encapsulation using a public key algorithm +- Key encapsulation using a KEM algorithm with a public key =head1 SYNOPSIS @@ -11,7 +11,7 @@ EVP_PKEY_encapsulate_init, EVP_PKEY_encapsulate int EVP_PKEY_encapsulate_init(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]); int EVP_PKEY_encapsulate(EVP_PKEY_CTX *ctx, - unsigned char *out, size_t *outlen, + unsigned char *wrappedkey, size_t *wrappedkeylen, unsigned char *genkey, size_t *genkeylen); =head1 DESCRIPTION @@ -19,19 +19,27 @@ EVP_PKEY_encapsulate_init, EVP_PKEY_encapsulate The EVP_PKEY_encapsulate_init() function initializes a public key algorithm context I for an encapsulation operation and then sets the I on the context in the same way as calling L. +Note that I is usually is produced using L, +specifying the public key to use. The EVP_PKEY_encapsulate() function performs a public key encapsulation -operation using I with the name I. -If I is B then the maximum size of the output buffer is written to the -I<*outlen> parameter and the maximum size of the generated key buffer is written -to I<*genkeylen>. If I is not B and the call is successful then the +operation using I. +The symmetric secret generated in I can be used as key material. +The ciphertext in I is its encapsulated form, which can be sent +to another party, who can use L to retrieve it +using their private key. +If I is NULL then the maximum size of the output buffer +is written to the I<*wrappedkeylen> parameter unless I is NULL +and the maximum size of the generated key buffer is written to I<*genkeylen> +unless I is NULL. +If I is not NULL and the call is successful then the internally generated key is written to I and its size is written to I<*genkeylen>. The encapsulated version of the generated key is written to -I and its size is written to I<*outlen>. +I and its size is written to I<*wrappedkeylen>. =head1 NOTES -After the call to EVP_PKEY_encapsulate_init() algorithm specific parameters +After the call to EVP_PKEY_encapsulate_init() algorithm-specific parameters for the operation may be set or modified using L. =head1 RETURN VALUES @@ -82,7 +90,7 @@ Encapsulate an RSASVE key (for RSA keys). =head1 SEE ALSO -L, +L, L, L,