23#ifndef DETERMINISTICESPASYNCWEBSERVER_QUIC_AEAD_H
24#define DETERMINISTICESPASYNCWEBSERVER_QUIC_AEAD_H
29#if (DETWS_ENABLE_HTTP3 || DETWS_ENABLE_DTLS)
35#define QUIC_AEAD_TAG_LEN 16
42#include <mbedtls/aes.h>
45 mbedtls_aes_context mbed;
55void quic_aes128_init(QuicAes128 *ctx,
const uint8_t key[16]);
58void quic_aes128_encrypt_block(QuicAes128 *ctx,
const uint8_t in[16], uint8_t out[16]);
61void quic_aes128_wipe(QuicAes128 *ctx);
81void quic_aes128_gcm_seal(
const uint8_t key[16],
const uint8_t nonce[12],
const uint8_t *aad,
size_t aad_len,
82 const uint8_t *pt,
size_t pt_len, uint8_t *out);
93bool quic_aes128_gcm_open(
const uint8_t key[16],
const uint8_t nonce[12],
const uint8_t *aad,
size_t aad_len,
94 const uint8_t *ct,
size_t ct_len, uint8_t *out);
User-facing configuration for DeterministicESPAsyncWebServer.