|
void | Update (const byte *input, size_t length) |
| Updates a hash with additional input.
|
|
void | TruncatedFinal (byte *hash, size_t size) |
| Computes the hash of the current message.
|
|
unsigned int | DigestSize () const |
| Provides the digest size of the hash.
|
|
std::string | AlgorithmName () const |
| Provides the name of this algorithm.
|
|
void | UpdateByte (byte b) |
| Updates a CRC with additional input.
|
|
byte | GetCrcByte (size_t i) const |
| Retrieves the i-th byte of the CRC.
|
|
std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm.
|
|
HashTransformation & | Ref () |
| Provides a reference to this object.
|
|
virtual byte * | CreateUpdateSpace (size_t &size) |
| Request space which can be written into by the caller.
|
|
virtual void | Final (byte *digest) |
| Computes the hash of the current message.
|
|
virtual void | Restart () |
| Restart the hash.
|
|
unsigned int | TagSize () const |
| Provides the tag size of the hash.
|
|
virtual unsigned int | BlockSize () const |
| Provides the block size of the compression function.
|
|
virtual unsigned int | OptimalBlockSize () const |
| Provides the input block size most efficient for this hash.
|
|
virtual unsigned int | OptimalDataAlignment () const |
| Provides input and output data alignment for optimal performance.
|
|
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.
|
|
virtual bool | Verify (const byte *digest) |
| Verifies the hash of the current message.
|
|
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.
|
|
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.
|
|
virtual bool | TruncatedVerify (const byte *digest, size_t digestLength) |
| Verifies the hash of the current message.
|
|
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.
|
|
| Algorithm (bool checkSelfTestStatus=true) |
| Interface for all crypto algorithms.
|
|
virtual Clonable * | Clone () const |
| Copies this object.
|
|
CRC-32C Checksum Calculation.
Uses CRC polynomial 0x82F63B78
- Since
- Crypto++ 5.6.4
Definition at line 58 of file crc.h.
std::string CRC32C::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 67 of file crc.h.
std::string CRC32C::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 301 of file crc.cpp.