gnutls_hpke_seal(3)

NAME
gnutls_hpke_seal - API function

SYNOPSIS
#include <gnutls/hpke.h>

int gnutls_hpke_seal(gnutls_hpke_context_t ctx, const gnutls_datum_t * aad, const gnutls_datum_t * plaintext, gnutls_datum_t * ciphertext);

ARGUMENTS

gnutls_hpke_context_t ctx
    The HPKE context to use for sealing.

const gnutls_datum_t * aad
    The associated data (AAD) to be authenticated but not encrypted.

const gnutls_datum_t * plaintext
    The plaintext data to be encrypted and authenticated.

gnutls_datum_t * ciphertext
    A pointer to a gnutls_datum_t structure where the resulting ciphertext will be stored.

DESCRIPTION
This function performs the sealing operation of HPKE. It encrypts the plaintext and computes an authentication tag using the AEAD algorithm specified in the HPKE context. The resulting ciphertext includes both the encrypted plaintext and the authentication tag.

This function can be used multiple times with the same HPKE context, but the encapsulation function (gnutls_hpke_encap()) must be called once before the first call to this function to set up the necessary keys and nonces in the context. Each call to this function will increment the sequence number in the context, which is used to derive unique nonces for each encryption operation.

The function will allocate memory for the ciphertext , and the caller is responsible for freeing this memory using gnutls_free() when it is no longer needed.

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

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