gnutls_hpke_open(3)

gnutls_hpke_open3

Api function

Usage

#include <gnutls/hpke.h>

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

Arguments

gnutls_hpke_context_t ctx

The HPKE context to use for opening.

const gnutls_datum_t * aad

The associated data (AAD) that was authenticated during sealing.

const gnutls_datum_t * ciphertext

The ciphertext received from the sender.

gnutls_datum_t * plaintext

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

Overview

This function performs the opening operation of HPKE. It takes the ciphertext received from the sender and uses the keys and nonces set up in the HPKE context (after decapsulation) to decrypt the ciphertext and verify the authentication tag. If the decryption and authentication are successful, the resulting plaintext is stored in
plaintext . If the decryption or authentication fails, the function securely erases any allocated plaintext and returns an error code.

This function can be used multiple times with the same HPKE context, but the decapsulation function (gnutls_hpke_decap()) must be called once before the first call to this function.

aad should be the same AAD that was provided to gnutls_hpke_seal() on the sender's side.

ciphertext should be the same ciphertext that was generated by gnutls_hpke_seal() on the sender's side.

The function will allocate memory for the plaintext , 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 <[email protected]>.
Home page: https://www.gnutls.org

From gnutls 3.8.13-3 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.