BearSSL

Data Fields
br_eax_context Struct Reference

Context structure for EAX. More...

`#include <bearssl_aead.h>`

## Data Fields
const br_aead_class * | vtable
| Pointer to vtable for this context. More...

## Detailed Description

Context structure for EAX.

EAX is an AEAD mode that combines a block cipher in CTR mode with CBC-MAC using the same block cipher and the same key, to provide authenticated encryption:

- Any block cipher with 16-byte blocks can be used with EAX (technically, other block sizes are defined as well, but this is not implemented by these functions; shorter blocks also imply numerous security issues).
- The nonce can have any length, as long as nonce values are not reused (thus, if nonces are randomly selected, the nonce size should be such that reuse probability is negligible).
- Additional authenticated data length is unlimited.
- Message length is unlimited.
- The authentication tag has length 16 bytes.

The EAX initialisation function receives as parameter an initialised block cipher implementation context, with the secret key already set. A pointer to that context will be kept within the EAX context structure. It is up to the caller to allocate and initialise that block cipher context.

## Field Documentation

## ◆ vtable

const br_aead_class* br_eax_context::vtable

Pointer to vtable for this context.

The documentation for this struct was generated from the following file:

- bearssl_aead.h