7#ifndef CRYPTOPP_CBCMAC_H
8#define CRYPTOPP_CBCMAC_H
23 void Update(
const byte *input,
size_t length);
33 unsigned int m_counter;
52 {this->
SetKey(key, length);}
54 static std::string StaticAlgorithmName() {
return std::string(
"CBC-MAC(") + T::StaticAlgorithmName() +
")";}
58 typename T::Encryption m_cipher;
Interface for one direction (encryption or decryption) of a block cipher.
unsigned int DigestSize() const
Provides the digest size of the hash.
void TruncatedFinal(byte *mac, size_t size)
Computes the hash of the current message.
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms)
Sets the key for this object without performing parameter validation.
void Update(const byte *input, size_t length)
Updates a hash with additional input.
CBC_MAC()
Construct a CBC_MAC.
CBC_MAC(const byte *key, size_t length=SameKeyLengthAs< T >::DEFAULT_KEYLENGTH)
Construct a CBC_MAC.
Interface for message authentication codes.
Provides a base implementation of Algorithm and SimpleKeyingInterface for message authentication code...
Interface for retrieving values given their names.
Provides key lengths based on another class's key length.
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
Crypto++ library namespace.
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.