Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 encapsu-
		 lated 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 sub-
     sequent 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 re-
     ceiver'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  authentica-
     tion.  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 (C) 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/local/share/doc/gnutls/	directory does not contain the HTML form
     visit

     https://www.gnutls.org/manual/

gnutls				     3.8.13		    gnutls_hpke_decap(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gnutls_hpke_decap&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help