summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man7/provider-kem.7ssl
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-unstable/man7/provider-kem.7ssl')
-rw-r--r--upstream/debian-unstable/man7/provider-kem.7ssl53
1 files changed, 37 insertions, 16 deletions
diff --git a/upstream/debian-unstable/man7/provider-kem.7ssl b/upstream/debian-unstable/man7/provider-kem.7ssl
index 32e1e6b1..e9339022 100644
--- a/upstream/debian-unstable/man7/provider-kem.7ssl
+++ b/upstream/debian-unstable/man7/provider-kem.7ssl
@@ -55,7 +55,7 @@
.\" ========================================================================
.\"
.IX Title "PROVIDER-KEM 7SSL"
-.TH PROVIDER-KEM 7SSL 2024-02-03 3.1.5 OpenSSL
+.TH PROVIDER-KEM 7SSL 2024-04-04 3.2.2-dev OpenSSL
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -80,13 +80,19 @@ provider\-kem \- The kem library <\-> provider functions
\& void *OSSL_FUNC_kem_dupctx(void *ctx);
\&
\& /* Encapsulation */
-\& int OSSL_FUNC_kem_encapsulate_init(void *ctx, void *provkey, const char *name,
+\& int OSSL_FUNC_kem_encapsulate_init(void *ctx, void *provkey,
\& const OSSL_PARAM params[]);
+\& int OSSL_FUNC_kem_auth_encapsulate_init(void *ctx, void *provkey,
+\& void *provauthkey,
+\& const OSSL_PARAM params[]);
\& int OSSL_FUNC_kem_encapsulate(void *ctx, unsigned char *out, size_t *outlen,
\& unsigned char *secret, size_t *secretlen);
\&
\& /* Decapsulation */
-\& int OSSL_FUNC_kem_decapsulate_init(void *ctx, void *provkey, const char *name);
+\& int OSSL_FUNC_kem_decapsulate_init(void *ctx, void *provkey);
+\& int OSSL_FUNC_kem_auth_decapsulate_init(void *ctx, void *provkey,
+\& void *provauthkey,
+\& const OSSL_PARAM params[]);
\& int OSSL_FUNC_kem_decapsulate(void *ctx, unsigned char *out, size_t *outlen,
\& const unsigned char *in, size_t inlen);
\&
@@ -128,20 +134,22 @@ For example, the "function" \fBOSSL_FUNC_kem_newctx()\fR has these:
macros in \fBopenssl\-core_dispatch.h\fR\|(7), as follows:
.PP
.Vb 3
-\& OSSL_FUNC_kem_newctx OSSL_FUNC_KEM_NEWCTX
-\& OSSL_FUNC_kem_freectx OSSL_FUNC_KEM_FREECTX
-\& OSSL_FUNC_kem_dupctx OSSL_FUNC_KEM_DUPCTX
+\& OSSL_FUNC_kem_newctx OSSL_FUNC_KEM_NEWCTX
+\& OSSL_FUNC_kem_freectx OSSL_FUNC_KEM_FREECTX
+\& OSSL_FUNC_kem_dupctx OSSL_FUNC_KEM_DUPCTX
\&
-\& OSSL_FUNC_kem_encapsulate_init OSSL_FUNC_KEM_ENCAPSULATE_INIT
-\& OSSL_FUNC_kem_encapsulate OSSL_FUNC_KEM_ENCAPSULATE
+\& OSSL_FUNC_kem_encapsulate_init OSSL_FUNC_KEM_ENCAPSULATE_INIT
+\& OSSL_FUNC_kem_auth_encapsulate_init OSSL_FUNC_KEM_AUTH_ENCAPSULATE_INIT
+\& OSSL_FUNC_kem_encapsulate OSSL_FUNC_KEM_ENCAPSULATE
\&
-\& OSSL_FUNC_kem_decapsulate_init OSSL_FUNC_KEM_DECAPSULATE_INIT
-\& OSSL_FUNC_kem_decapsulate OSSL_FUNC_KEM_DECAPSULATE
+\& OSSL_FUNC_kem_decapsulate_init OSSL_FUNC_KEM_DECAPSULATE_INIT
+\& OSSL_FUNC_kem_auth_decapsulate_init OSSL_FUNC_KEM_AUTH_DECAPSULATE_INIT
+\& OSSL_FUNC_kem_decapsulate OSSL_FUNC_KEM_DECAPSULATE
\&
-\& OSSL_FUNC_kem_get_ctx_params OSSL_FUNC_KEM_GET_CTX_PARAMS
-\& OSSL_FUNC_kem_gettable_ctx_params OSSL_FUNC_KEM_GETTABLE_CTX_PARAMS
-\& OSSL_FUNC_kem_set_ctx_params OSSL_FUNC_KEM_SET_CTX_PARAMS
-\& OSSL_FUNC_kem_settable_ctx_params OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS
+\& OSSL_FUNC_kem_get_ctx_params OSSL_FUNC_KEM_GET_CTX_PARAMS
+\& OSSL_FUNC_kem_gettable_ctx_params OSSL_FUNC_KEM_GETTABLE_CTX_PARAMS
+\& OSSL_FUNC_kem_set_ctx_params OSSL_FUNC_KEM_SET_CTX_PARAMS
+\& OSSL_FUNC_kem_settable_ctx_params OSSL_FUNC_KEM_SETTABLE_CTX_PARAMS
.Ve
.PP
An asymmetric kem algorithm implementation may not implement all of these
@@ -151,10 +159,12 @@ OSSL_FUNC_kem_newctx and OSSL_FUNC_kem_freectx.
It must also implement both of OSSL_FUNC_kem_encapsulate_init and
OSSL_FUNC_kem_encapsulate, or both of OSSL_FUNC_kem_decapsulate_init and
OSSL_FUNC_kem_decapsulate.
+OSSL_FUNC_kem_auth_encapsulate_init is optional but if it is present then so
+must OSSL_FUNC_kem_auth_decapsulate_init.
OSSL_FUNC_kem_get_ctx_params is optional but if it is present then so must
OSSL_FUNC_kem_gettable_ctx_params.
Similarly, OSSL_FUNC_kem_set_ctx_params is optional but if it is present then
-so must OSSL_FUNC_kem_settable_ctx_params.
+OSSL_FUNC_kem_settable_ctx_params must also be present.
.PP
An asymmetric kem algorithm must also implement some mechanism for generating,
loading or importing keys via the key management (OSSL_OP_KEYMGMT) operation.
@@ -186,6 +196,10 @@ The key object should have been previously generated, loaded or imported into
the provider using the key management (OSSL_OP_KEYMGMT) operation (see
\&\fBprovider\-keymgmt\fR\|(7)>.
.PP
+\&\fBOSSL_FUNC_kem_auth_encapsulate_init()\fR is similar to
+\&\fBOSSL_FUNC_kem_encapsulate_init()\fR, but also passes an additional authentication
+key \fIprovauthkey\fR which cannot be NULL.
+.PP
\&\fBOSSL_FUNC_kem_encapsulate()\fR performs the actual encapsulation itself.
A previously initialised asymmetric kem context is passed in the \fIctx\fR
parameter.
@@ -209,6 +223,10 @@ The key object should have been previously generated, loaded or imported into
the provider using the key management (OSSL_OP_KEYMGMT) operation (see
\&\fBprovider\-keymgmt\fR\|(7)>.
.PP
+\&\fBOSSL_FUNC_kem_auth_decapsulate_init()\fR is similar to
+\&\fBOSSL_FUNC_kem_decapsulate_init()\fR, but also passes an additional authentication
+key \fIprovauthkey\fR which cannot be NULL.
+.PP
\&\fBOSSL_FUNC_kem_decapsulate()\fR performs the actual decapsulation itself.
A previously initialised asymmetric kem context is passed in the \fIctx\fR
parameter.
@@ -253,9 +271,12 @@ All other functions should return 1 for success or 0 on error.
.SH HISTORY
.IX Header "HISTORY"
The provider KEM interface was introduced in OpenSSL 3.0.
+.PP
+\&\fBOSSL_FUNC_kem_auth_encapsulate_init()\fR and \fBOSSL_FUNC_kem_auth_decapsulate_init()\fR
+were added in OpenSSL 3.2.
.SH COPYRIGHT
.IX Header "COPYRIGHT"
-Copyright 2020\-2022 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2020\-2023 The OpenSSL Project Authors. All Rights Reserved.
.PP
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy