44 #ifndef CRYPTOPP_POLY1305_H 45 #define CRYPTOPP_POLY1305_H 65 static std::string StaticAlgorithmName() {
return std::string(
"Poly1305(") + T::StaticAlgorithmName() +
")";}
67 CRYPTOPP_CONSTANT(DIGESTSIZE=T::BLOCKSIZE)
68 CRYPTOPP_CONSTANT(BLOCKSIZE=T::BLOCKSIZE)
75 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶ms);
76 void Update(
const byte *input,
size_t length);
86 void HashBlocks(
const byte *input,
size_t length, word32 padbit);
87 void HashFinal(byte *mac,
size_t length);
89 typename T::Encryption m_cipher;
163 Poly1305(
const byte *key,
size_t keyLength=DEFAULT_KEYLENGTH,
const byte *nonce=NULLPTR,
size_t nonceLength=0)
169 #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.
Poly1305 message authentication code base class.
Inherited by keyed algorithms with fixed key length.
Classes for working with NameValuePairs.
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
unsigned int BlockSize() const
Provides the block size of the compression function.
Abstract base classes that provide a uniform interface to this library.
Interface for random number generators.
Provides class member functions to key a message authentication code.
virtual std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
Classes and functions for secure memory allocations.
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.
virtual void Resynchronize(const byte *iv, int ivLength=-1)
Resynchronize with an IV.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
Poly1305 message authentication code.
const char * IV()
ConstByteArrayParameter, also accepts const byte * for backwards compatibility.
unsigned int DigestSize() const
Provides the digest size of the hash.
Poly1305(const byte *key, size_t keyLength=DEFAULT_KEYLENGTH, const byte *nonce=NULL, size_t nonceLength=0)
Construct a Poly1305.
Crypto++ library namespace.
virtual void GetNextIV(RandomNumberGenerator &rng, byte *iv)
Retrieves a secure IV for the next message.
Interface for retrieving values given their names.