45 #ifndef CRYPTOPP_POLY1305_H 46 #define CRYPTOPP_POLY1305_H 67 static std::string
StaticAlgorithmName() {
return std::string(
"Poly1305(") + T::StaticAlgorithmName() +
")";}
74 void Resynchronize (
const byte *iv,
int ivLength=-1);
77 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶ms);
78 void Update(
const byte *input,
size_t length);
79 void TruncatedFinal(
byte *mac,
size_t size);
86 void HashBlocks(
const byte *input,
size_t length,
word32 padbit);
87 void HashFinal(
byte *mac,
size_t length);
164 Poly1305(
const byte *key,
size_t keyLength=DEFAULT_KEYLENGTH,
const byte *nonce=NULL,
size_t nonceLength=0)
170 #endif // CRYPTOPP_POLY1305_H Used to pass byte array input as part of a NameValuePairs object.
Standard names for retrieving values by name when working with NameValuePairs.
Interface for message authentication codes.
FixedSizeAlignedSecBlock< byte, BLOCKSIZE > m_acc
Poly1305 message authentication code base class.
Inherited by keyed algorithms with fixed key length.
Classes for working with NameValuePairs.
unsigned int DigestSize() const
Provides the digest size of the hash.
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
FixedSizeAlignedSecBlock< word32, 5 > m_h
#define NAMESPACE_BEGIN(x)
static std::string StaticAlgorithmName()
Abstract base classes that provide a uniform interface to this library.
FixedSizeAlignedSecBlock< word32, 4 > m_r
Interface for random number generators.
Provides class member functions to key a message authentication code.
Classes and functions for secure memory allocations.
FixedSizeAlignedSecBlock< word32, 4 > m_n
#define CRYPTOPP_COMPILE_ASSERT(assertion)
AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed=true)
Create an object that implements NameValuePairs.
Classes and functions for implementing secret key algorithms.
Interface for algorithms that take byte strings as keys.
#define CRYPTOPP_CONSTANT(x)
Poly1305 message authentication code.
#define CRYPTOPP_NO_VTABLE
uint8_t const size_t const size
unsigned int BlockSize() const
Provides the block size of the compression function.
Poly1305(const byte *key, size_t keyLength=DEFAULT_KEYLENGTH, const byte *nonce=NULL, size_t nonceLength=0)
Construct a Poly1305.
Interface for retrieving values given their names.