Crypto++
8.3
Free C++ class library of cryptographic schemes
|
Interface for all crypto algorithms. More...
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... | |
![]() | |
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. |
Definition at line 46 of file cryptlib.cpp.
|
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, ClassNullRNG, 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.