|
void | Update (const byte *input, size_t length) |
| Updates a hash with additional input. More...
|
|
void | TruncatedFinal (byte *hash, size_t size) |
| Computes the hash of the current message. More...
|
|
unsigned int | DigestSize () const |
| Provides the digest size of the hash. More...
|
|
std::string | AlgorithmName () const |
| Provides the name of this algorithm. More...
|
|
void | UpdateByte (byte b) |
| Updates a CRC with additional input. More...
|
|
byte | GetCrcByte (size_t i) const |
| Retrieves the i-th byte of the CRC. More...
|
|
std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. More...
|
|
HashTransformation & | Ref () |
| Provides a reference to this object. More...
|
|
virtual void | Update (const byte *input, size_t length)=0 |
| Updates a hash with additional input. More...
|
|
virtual byte * | CreateUpdateSpace (size_t &size) |
| Request space which can be written into by the caller. More...
|
|
virtual void | Final (byte *digest) |
| Computes the hash of the current message. More...
|
|
virtual void | Restart () |
| Restart the hash. More...
|
|
virtual unsigned int | DigestSize () const =0 |
| Provides the digest size of the hash. More...
|
|
unsigned int | TagSize () const |
| Provides the tag size of the hash. More...
|
|
virtual unsigned int | BlockSize () const |
| Provides the block size of the compression function. More...
|
|
virtual unsigned int | OptimalBlockSize () const |
| Provides the input block size most efficient for this hash. More...
|
|
virtual unsigned int | OptimalDataAlignment () const |
| Provides input and output data alignment for optimal performance. More...
|
|
virtual void | CalculateDigest (byte *digest, const byte *input, size_t length) |
| Updates the hash with additional input and computes the hash of the current message. More...
|
|
virtual bool | Verify (const byte *digest) |
| Verifies the hash of the current message. More...
|
|
virtual bool | VerifyDigest (const byte *digest, const byte *input, size_t length) |
| Updates the hash with additional input and verifies the hash of the current message. More...
|
|
virtual void | TruncatedFinal (byte *digest, size_t digestSize)=0 |
| Computes the hash of the current message. More...
|
|
virtual void | CalculateTruncatedDigest (byte *digest, size_t digestSize, const byte *input, size_t length) |
| Updates the hash with additional input and computes the hash of the current message. More...
|
|
virtual bool | TruncatedVerify (const byte *digest, size_t digestLength) |
| Verifies the hash of the current message. More...
|
|
virtual bool | VerifyTruncatedDigest (const byte *digest, size_t digestLength, const byte *input, size_t length) |
| Updates the hash with additional input and verifies the hash of the current message. More...
|
|
| Algorithm (bool checkSelfTestStatus=true) |
| Interface for all crypto algorithms. More...
|
|
virtual std::string | AlgorithmName () const |
| Provides the name of this algorithm. More...
|
|
virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. More...
|
|
virtual Clonable * | Clone () const |
| Copies this object. More...
|
|
CRC-32 Checksum Calculation.
Uses CRC polynomial 0xEDB88320
Definition at line 25 of file crc.h.
std::string CRC32::AlgorithmName |
( |
| ) |
const |
|
inlinevirtual |
Provides the name of this algorithm.
- Returns
- the standard algorithm name
The standard algorithm name can be a name like AES
or AES/GCM
. Some algorithms do not have standard names yet. For example, there is no standard algorithm name for Shoup's ECIES.
- Note
- AlgorithmName is not universally implemented yet.
Reimplemented from Algorithm.
Definition at line 34 of file crc.h.
std::string CRC32::AlgorithmProvider |
( |
| ) |
const |
|
virtual |
Retrieve the provider of this algorithm.
- Returns
- the algorithm provider
The algorithm provider can be a name like "C++", "SSE", "NEON", "AESNI", "ARMv8" and "Power8". C++ is standard C++ code. Other labels, like SSE, usually indicate a specialized implementation using instructions from a higher instruction set architecture (ISA). Future labels may include external hardware like a hardware security module (HSM).
Generally speaking Wei Dai's original IA-32 ASM code falls under "SSE2". Labels like "SSSE3" and "SSE4.1" follow after Wei's code and use intrinsics instead of ASM.
Algorithms which combine different instructions or ISAs provide the dominant one. For example on x86 AES/GCM
returns "AESNI" rather than "CLMUL" or "AES+SSE4.1" or "AES+CLMUL" or "AES+SSE4.1+CLMUL".
- Note
- Provider is not universally implemented yet.
- Since
- Crypto++ 8.0
Reimplemented from Algorithm.
Definition at line 133 of file crc.cpp.