#include <ngtcp2/ngtcp2_crypto.h>

int ngtcp2_crypto_decrypt(uint8_t *dest, const ngtcp2_crypto_aead *aead, const ngtcp2_crypto_aead_ctx *aead_ctx, const uint8_t *ciphertext, size_t ciphertextlen, const uint8_t *nonce, size_t noncelen, const uint8_t *aad, size_t aadlen)

ngtcp2_crypto_decrypt() decrypts ciphertext of length ciphertextlen and writes the plaintext into the buffer pointed by dest. The length of plaintext is ciphertextlen - aead->max_overhead bytes long. dest must have enough capacity to store the plaintext. dest and ciphertext may point to the same buffer.

This function returns 0 if it succeeds, or -1.