|
Crypto++
8.4
Free C++ class library of cryptographic schemes
|
Interface for all crypto algorithms. More...
Inheritance diagram for Algorithm:Public Member Functions | |
| 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... | |
Public Member Functions inherited from Clonable | |
| virtual Clonable * | Clone () const |
| Copies this object. More... | |
Interface for all crypto algorithms.
Definition at line 598 of file cryptlib.h.
| Algorithm::Algorithm | ( | bool | checkSelfTestStatus = true | ) |
Interface for all crypto algorithms.
| checkSelfTestStatus | determines whether the object can proceed if the self tests have not been run or failed. When FIPS 140-2 compliance is enabled and checkSelfTestStatus == true, this constructor throws SelfTestFailure if the self test hasn't been run or fails. FIPS 140-2 compliance is disabled by default. It is only used by certain versions of the library when the library is built as a DLL on Windows. Also see CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 in config.h. |
|
inlinevirtual |
Provides the name of this algorithm.
AES or AES/GCM. Some algorithms do not have standard names yet. For example, there is no standard algorithm name for Shoup's ECIES. Reimplemented in KeyDerivationFunction, XTS_ModeBase, VMAC_Base, BitBucket, SHAKE_Final< T_Strength >, SHA3_Final< T_DigestSize >, Scrypt, PKCS12_PBKDF< T >, PKCS5_PBKDF2_HMAC< T >, PKCS5_PBKDF1< T >, Keccak_Final< T_DigestSize >, HMAC< T >, HKDF< T >, GCM_Base, SignatureVerificationFilter, SignerFilter, AuthenticatedDecryptionFilter, HashVerificationFilter, HashFilter, StreamTransformationFilter, EAX_Base, DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >, AuthenticatedSymmetricCipher, CRC32C, CRC32, XChaCha20Poly1305_Base, ChaCha20Poly1305_Base, CCM_Base, BLAKE2b, BLAKE2s, and Adler32.
Definition at line 619 of file cryptlib.h.
|
inlinevirtual |
Retrieve the provider of this algorithm.
AES/GCM returns "AESNI" rather than "CLMUL" or "AES+SSE4.1" or "AES+CLMUL" or "AES+SSE4.1+CLMUL". Reimplemented in XTS_ModeBase, Whirlpool, VMAC_Base, Tiger, AdditiveCipherTemplate< BASE >, SHA384, SHA512, SHA224, SHA256, SHA1, RDSEED, RDRAND, Poly1305_Base< T >, Weak::PanamaHash< B >, PadlockRNG, AutoSeededX917RNG< BLOCK_CIPHER >, CipherModeBase, HMAC< T >, GCM_Base, EAX_Final< T_BlockCipher, T_IsEncryption >, EAX_Base, HMAC_DRBG< HASH, STRENGTH, SEEDLENGTH >, Hash_DRBG< HASH, STRENGTH, SEEDLENGTH >, DMAC_Base< T >, DARN, CRC32C, CRC32, CMAC_Base, XChaCha20Poly1305_Base, ChaCha20Poly1305_Base, CCM_Base, BLAKE2b, and BLAKE2s.
Definition at line 636 of file cryptlib.h.