
ngtcp2_crypto_decrypt
=====================

Synopsis
--------

*#include <ngtcp2/ngtcp2_crypto.h>*

.. function:: 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* -
    :member:`aead->max_overhead <ngtcp2_crypto_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.
