---
name: "gnutls_hpke_seal"
section: "3"
platform: "linux"
package: "gnutls"
version: "3.8.13-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gnutls_hpke_seal"
---

# gnutls\_hpke\_seal(3)

API function

## 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/
