authenc.h File Reference

Classes for authenticated encryption modes of operation. More...

Go to the source code of this file.

## Classes

class | AuthenticatedSymmetricCipherBase
| Base class for authenticated encryption modes of operation. More...

## Detailed Description

Classes for authenticated encryption modes of operation.

Authenticated encryption (AE) schemes combine confidentiality and authenticity into a single mode of operation They gained traction in the early 2000's because manually combining them was error prone for the typical developer. Around that time, the desire to authenticate but not ecrypt additional data (AAD) was also identified. When both features are available from a scheme, the system is referred to as an AEAD scheme.

Crypto++ provides four authenticated encryption modes of operation - CCM, EAX, GCM and OCB mode. All modes derive from AuthenticatedSymmetricCipherBase() and the motivation for the API, like calling AAD a "header", can be found in Bellare, Rogaway and Wagner's The EAX Mode of Operation. The EAX paper suggested a basic API to help standardize AEAD schemes in software and promote adoption of the modes.

See also
  Authenticated Encryption on the Crypto++ wiki.

Since
  Crypto++ 5.6.0

Definition in file authenc.h.