EVP_AEAD_CTX_open authenticates the input and additional data, decrypting
the input and writing it as output. One is returned on success, otherwise
zero.
This function may be called (with the same EVP_AEAD_CTX) concurrently with
itself or EVP_AEAD_CTX_seal.
At most the number of input bytes are written as output. In order to ensure
success, max_out_len should be at least the same as the input length. On
successful return out_len is set to the actual number of bytes written.
The length of nonce must be equal to the result of EVP_AEAD_nonce_length
for this AEAD.
EVP_AEAD_CTX_open never results in a partial output. If max_out_len is
insufficient, zero will be returned and out_len will be set to zero.
If the input and output are aliased then out must be <= in.
EVP_AEAD_CTX_open authenticates the input and additional data, decrypting the input and writing it as output. One is returned on success, otherwise zero.
This function may be called (with the same EVP_AEAD_CTX) concurrently with itself or EVP_AEAD_CTX_seal.
At most the number of input bytes are written as output. In order to ensure success, max_out_len should be at least the same as the input length. On successful return out_len is set to the actual number of bytes written.
The length of nonce must be equal to the result of EVP_AEAD_nonce_length for this AEAD.
EVP_AEAD_CTX_open never results in a partial output. If max_out_len is insufficient, zero will be returned and out_len will be set to zero.
If the input and output are aliased then out must be <= in.