Crypto++
8.2
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
7 #ifndef CRYPTOPP_CMAC_H
8 #define CRYPTOPP_CMAC_H
25 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶ms);
26 void Update(
const byte *input,
size_t length);
27 void TruncatedFinal(
byte *mac,
size_t size);
28 unsigned int DigestSize()
const {
return GetCipher().BlockSize();}
41 unsigned int m_counter;
59 {this->
SetKey(key, length);}
61 static std::string StaticAlgorithmName() {
return std::string(
"CMAC(") + T::StaticAlgorithmName() +
")";}
65 typename T::Encryption m_cipher;
std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
unsigned int DigestSize() const
Provides the digest size of the hash.
unsigned int OptimalBlockSize() const
Provides the input block size most efficient for this hash.
CMAC message authentication code.
Classes and functions for secure memory allocations.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
CMAC(const byte *key, size_t length=SameKeyLengthAs< T >::DEFAULT_KEYLENGTH)
Construct a CMAC.
Provides key lengths based on another class's key length.
Classes and functions for implementing secret key algorithms.
Provides a base implementation of Algorithm and SimpleKeyingInterface for message authentication code...
CMAC base implementation.
Crypto++ library namespace.
EAX block cipher base implementation.
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
Interface for one direction (encryption or decryption) of a block cipher.
Interface for message authentication codes.
Interface for retrieving values given their names.