table of contents
| gnutls_hpke_decap(3) | gnutls | gnutls_hpke_decap(3) |
NAME¶
gnutls_hpke_decap - API function
SYNOPSIS¶
#include <gnutls/hpke.h>
int gnutls_hpke_decap(gnutls_hpke_context_t ctx, const gnutls_datum_t * info, const gnutls_datum_t * enc, const gnutls_privkey_t receiver_privkey, const gnutls_pubkey_t sender_pubkey, const gnutls_datum_t * psk, const gnutls_datum_t * psk_id);
ARGUMENTS¶
- gnutls_hpke_context_t ctx
- The HPKE context to use for decapsulation.
- const gnutls_datum_t * info
- The application-specific information that was included in the key schedule (optional).
- const gnutls_datum_t * enc
- A pointer to a gnutls_datum_t structure containing the encapsulated key received from the sender.
- const gnutls_privkey_t receiver_privkey
- The receiver's private key to use for decapsulation.
- const gnutls_pubkey_t sender_pubkey
- The sender's public key for AuthDecap operation (optional).
- const gnutls_datum_t * psk
- The pre-shared key (optional).
- const gnutls_datum_t * psk_id
- The pre-shared key identifier (optional).
DESCRIPTION¶
This function performs the decapsulation operation of HPKE. It takes the encapsulated key ( enc ) received from the sender and uses it along with the receiver's private key to derive the shared secret. It then uses this shared secret along with any provided application-specific information ( info ) to set up the necessary keys and nonces in the HPKE context for subsequent sealing and opening operations.
This function must be used once per HPKE context and before any calls to gnutls_hpke_open().
enc should be the same encapsulated key that was generated by
gnutls_hpke_encap() on the sender's side.
receiver_privkey must be a valid private key that is compatible with
the KEM algorithm specified in the HPKE context and that corresponds to the
receiver's public key used during encapsulation.
For GNUTLS_HPKE_MODE_AUTH or
GNUTLS_HPKE_MODE_AUTH_PSK,
sender_pubkey must be a valid public key that can be used for
authentication. For GNUTLS_HPKE_MODE_PSK or
GNUTLS_HPKE_MODE_AUTH_PSK, a pre-shared key ( psk ) and its
identifier ( psk_id ) must be supplied.
RETURNS¶
0 on success, or a negative error code on failure
SINCE¶
3.8.13
REPORTING BUGS¶
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
COPYRIGHT¶
Copyright © 2001-2023 Free Software Foundation, Inc., and
others.
Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice and
this notice are preserved.
SEE ALSO¶
The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit
| 3.8.13 | gnutls |