Crypto++
8.5
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
25 #ifndef CRYPTOPP_POLY1305_H
26 #define CRYPTOPP_POLY1305_H
49 static std::string StaticAlgorithmName() {
return std::string(
"Poly1305(") + T::StaticAlgorithmName() +
")";}
51 CRYPTOPP_CONSTANT(DIGESTSIZE=T::BLOCKSIZE);
52 CRYPTOPP_CONSTANT(BLOCKSIZE=T::BLOCKSIZE);
60 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶ms);
61 void Update(
const byte *input,
size_t length);
72 void HashBlocks(
const byte *input,
size_t length,
word32 padbit);
73 void HashFinal(
byte *mac,
size_t length);
75 typename T::Encryption m_cipher;
155 Poly1305(
const byte *key,
size_t keyLength=DEFAULT_KEYLENGTH,
const byte *nonce=NULLPTR,
size_t nonceLength=0)
167 static std::string StaticAlgorithmName() {
return std::string(
"Poly1305TLS");}
168 CRYPTOPP_CONSTANT(DIGESTSIZE=16);
169 CRYPTOPP_CONSTANT(BLOCKSIZE=16);
175 void Update(
const byte *input,
size_t length);
241 #endif // CRYPTOPP_POLY1305_H
virtual void SetKey(const byte *key, size_t length, const NameValuePairs ¶ms=g_nullNameValuePairs)
Sets or reset the key of this object.
void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms)
Sets the key for this object without performing parameter validation.
AlgorithmParameters MakeParameters(const char *name, const T &value, bool throwIfNotUsed=true)
Create an object that implements NameValuePairs.
Poly1305()
Construct a Poly1305.
Poly1305(const byte *key, size_t keyLength=DEFAULT_KEYLENGTH, const byte *nonce=NULL, size_t nonceLength=0)
Construct a Poly1305.
virtual void GetNextIV(RandomNumberGenerator &rng, byte *iv)
Retrieves a secure IV for the next message.
Poly1305-TLS message authentication code.
unsigned int DigestSize() const
Provides the digest size of the hash.
Classes and functions for secure memory allocations.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
unsigned int word32
32-bit unsigned datatype
Interface for random number generators.
Standard names for retrieving values by name when working with NameValuePairs.
virtual void Resynchronize(const byte *iv, int ivLength=-1)
Resynchronize with an IV.
unsigned int BlockSize() const
Provides the block size of the compression function.
Inherited by keyed algorithms with fixed key length.
Poly1305 message authentication code.
Poly1305-TLS message authentication code base class.
unsigned int DigestSize() const
Provides the digest size of the hash.
void Restart()
Restart the hash.
Poly1305 message authentication code base class.
unsigned int BlockSize() const
Provides the block size of the compression function.
Classes and functions for implementing secret key algorithms.
void TruncatedFinal(byte *mac, size_t size)
Computes the hash of the current message.
Crypto++ library namespace.
void Update(const byte *input, size_t length)
Updates a hash with additional input.
Interface for message authentication codes.
virtual std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
Provides class member functions to key a message authentication code.
Interface for retrieving values given their names.
Abstract base classes that provide a uniform interface to this library.
Used to pass byte array input as part of a NameValuePairs object.
Classes for working with NameValuePairs.