24 {
return GetMAC().GetCipher().AlgorithmName() + std::string(
"/EAX");}
26 {
return GetMAC().MinKeyLength();}
28 {
return GetMAC().MaxKeyLength();}
30 {
return GetMAC().DefaultKeyLength();}
32 {
return GetMAC().GetValidKeyLength(n);}
34 {
return GetMAC().IsValidKeyLength(n);}
36 {
return GetMAC().OptimalDataAlignment();}
40 {
return GetMAC().TagSize();}
46 {
return GetMAC().TagSize();}
54 bool AuthenticationIsOnPlaintext()
const 56 unsigned int AuthenticationBlockSize()
const 58 void SetKeyWithoutResync(
const byte *userKey,
size_t keylength,
const NameValuePairs ¶ms);
59 void Resync(
const byte *iv,
size_t len);
60 size_t AuthenticateBlocks(
const byte *data,
size_t len);
61 void AuthenticateLastHeaderBlock();
62 void AuthenticateLastFooterBlock(byte *mac,
size_t macSize);
64 const CMAC_Base & GetMAC()
const {
return const_cast<EAX_Base *
>(
this)->AccessMAC();}
77 template <
class T_BlockCipher,
bool T_IsEncryption>
81 static std::string StaticAlgorithmName()
82 {
return T_BlockCipher::StaticAlgorithmName() + std::string(
"/EAX");}
84 {
return T_IsEncryption;}
91 #ifdef EAX // EAX is defined to 11 on GCC 3.4.3, OpenSolaris 8.11 103 template <
class T_BlockCipher>
size_t MinKeyLength() const
Returns smallest valid key length in bytes.
unsigned int DigestSize() const
Provides the digest size of the hash.
Class file for modes of operation.
Provides Encryption and Decryption typedefs used by derived classes to implement an authenticated enc...
EAX block cipher mode of operation.
size_t MaxKeyLength() const
Returns largest valid key length in bytes.
Classes for CMAC message authentication code.
size_t GetValidKeyLength(size_t n) const
Class specific methods used to operate the cipher.
Interface for one direction (encryption or decryption) of a stream cipher or cipher mode...
lword MaxMessageLength() const
the maximum length of encrypted data
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
IV_Requirement IVRequirement() const
returns the minimal requirement for secure IVs
IV_Requirement
Provides IV requirements as an enumerated value.
lword MaxHeaderLength() const
the maximum length of AAD that can be input before the encrypted data
size_t DefaultKeyLength() const
Returns default (recommended) key length in bytes.
unsigned int IVSize() const
Returns length of the IV accepted by this object.
Crypto++ library namespace.
unsigned int MinIVLength() const
returns minimal length of IVs accepted by this object
unsigned int MaxIVLength() const
returns maximal length of IVs accepted by this object
std::string AlgorithmName() const
Provides the name of this algorithm.
Base classes for working with authenticated encryption modes of encryption.
bool IsForwardTransformation() const
Determines if the cipher is being operated in its forward direction.
The EAX block cipher mode of operation.
bool IsValidKeyLength(size_t n) const
Returns whether keylength is a valid key length.
Interface for retrieving values given their names.