17 #ifndef CRYPTOPP_LSH_H 18 #define CRYPTOPP_LSH_H 25 #if (CRYPTOPP_BOOL_X32) || (CRYPTOPP_BOOL_X64) 26 # define CRYPTOPP_ENABLE_64BIT_SSE 1 39 CRYPTOPP_CONSTANT(BLOCKSIZE = 128);
43 unsigned int BlockSize()
const {
return BLOCKSIZE; }
48 void Update(
const byte *input,
size_t size);
49 void TruncatedFinal(
byte *hash,
size_t size);
51 std::string AlgorithmProvider()
const;
54 LSH256_Base(
unsigned int algType,
unsigned int digestSize)
55 : m_digestSize(digestSize) { m_state[80] = algType; }
154 LSH512_Base(
unsigned int algType,
unsigned int digestSize)
155 : m_digestSize(digestSize) { m_state[80] = algType; }
262 #endif // CRYPTOPP_LSH_H void Restart()
Restart the hash.
static const int DIGESTSIZE
Digest size, in bytes.
LSH384()
Construct a LSH-384.
static const int BLOCKSIZE
Block size, in bytes.
unsigned int word32
32-bit unsigned datatype
static const int DIGESTSIZE
Digest size, in bytes.
static std::string StaticAlgorithmName()
The algorithm's name.
Abstract base classes that provide a uniform interface to this library.
std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
LSH512_256()
Construct a LSH-512-256.
std::string AlgorithmName() const
Provides the name of this algorithm.
static const int BLOCKSIZE
Block size, in bytes.
unsigned int DigestSize() const
Provides the digest size of the hash.
static std::string StaticAlgorithmName()
The algorithm's name.
Classes and functions for secure memory allocations.
static const int BLOCKSIZE
Block size, in bytes.
static std::string StaticAlgorithmName()
The algorithm's name.
std::string AlgorithmName() const
Provides the name of this algorithm.
std::string AlgorithmName() const
Provides the name of this algorithm.
LSH-224 and LSH-256 hash base class.
static const int BLOCKSIZE
Block size, in bytes.
LSH512()
Construct a LSH-512.
std::string AlgorithmName() const
Provides the name of this algorithm.
static const int DIGESTSIZE
Digest size, in bytes.
void Update(const byte *input, size_t size)
Updates a hash with additional input.
unsigned char byte
8-bit unsigned datatype
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
void TruncatedFinal(byte *hash, size_t size)
Computes the hash of the current message.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
static const int DIGESTSIZE
Digest size, in bytes.
LSH-512-256 hash function.
unsigned int BlockSize() const
Provides the block size of the compression function.
static std::string StaticAlgorithmName()
The algorithm's name.
Crypto++ library namespace.
static const int BLOCKSIZE
Block size, in bytes.
static std::string StaticAlgorithmName()
The algorithm's name.
std::string AlgorithmName() const
Provides the name of this algorithm.
LSH224()
Construct a LSH-224.
unsigned int BlockSize() const
Provides the block size of the compression function.
static const int BLOCKSIZE
Block size, in bytes.
LSH256()
Construct a LSH-256.
LSH-384 and LSH-512 hash base class.
void Restart()
Restart the hash.
static const int DIGESTSIZE
Digest size, in bytes.
static const int BLOCKSIZE
Block size, in bytes.
unsigned int DigestSize() const
Provides the digest size of the hash.