Crypto++ 8.8
Free C++ class library of cryptographic schemes
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678910111213]
 ►CAbstractGroup< T >Abstract group
 ►CAbstractGroup< EC2NPoint >
 ►CAbstractGroup< ECPPoint >
 ►CAbstractGroup< EuclideanDomainOf< PolynomialMod2 >::Element >
 ►CAbstractGroup< GFP2Element >
 ►CAbstractGroup< Integer >
 ►CAbstractGroup< PolynomialMod2 >
 ►CAdditiveCipherAbstractPolicyPolicy object for additive stream ciphers
 ►CAlgorithmParametersBaseBase class for AlgorithmParameters
 ►CAllocatorBase< T >Base class for all allocators used by SecBlock
 ►CAllocatorBase< byte >
 ►CAllocatorBase< EncodedMatch >
 ►CAllocatorBase< HuffmanEncoder::Code >
 ►CAllocatorBase< RC5_WORD >
 ►CAllocatorBase< RC6_WORD >
 ►CAllocatorBase< T_HashWordType >
 ►CAllocatorBase< unsigned int >
 ►CAllocatorBase< Word >
 ►CAllocatorBase< word >
 ►CAllocatorBase< word16 >
 ►CAllocatorBase< word32 >
 ►CAllocatorBase< word64 >
 ►CASN1ObjectInterface for encoding and decoding ASN1 objects
 ►CAuthenticatedSymmetricCipherDocumentationProvides Encryption and Decryption typedefs used by derived classes to implement an authenticated encryption cipher
 ►CBASE
 CBaseAndExponent< T, E >Base and exponent
 CBLAKE2b_ParameterBlockBLAKE2b parameter block
 CBLAKE2b_StateBLAKE2b state information
 CBLAKE2s_ParameterBlockBLAKE2s parameter block
 CBLAKE2s_StateBLAKE2s state information
 ►CBlockCipherDocumentationProvides Encryption and Decryption typedefs used by derived classes to implement a block cipher
 CBlockGetAndPut< T, B, GA, PA >Access a block of memory
 ►CBlockPaddingSchemeDefPadding schemes used for block ciphers
 CByteArrayParameterUsed to pass byte array input as part of a NameValuePairs object
 CCASTCAST block cipher base
 ►CCFB_CipherAbstractPolicyPolicy object for feedback based stream ciphers
 ►CChannelSwitchTypedefs
 ►CClonableInterface for cloning objects
 CHuffmanEncoder::Code
 CCodeLessThan
 CConstByteArrayParameterUsed to pass byte array input as part of a NameValuePairs object
 Ccounted_ptr< T >Reference counted pointer
 CDataParametersInfo< BlockSize, KeyLength, DigestSize, SaltSize, Iterations >Algorithm information for password-based encryptors and decryptors
 ►CDataParametersInfo< DefaultBlockCipher::BLOCKSIZE, DefaultBlockCipher::DEFAULT_KEYLENGTH, DefaultHashModule::DIGESTSIZE, 8, 2500 >
 ►CDataParametersInfo< LegacyBlockCipher::BLOCKSIZE, LegacyBlockCipher::DEFAULT_KEYLENGTH, LegacyHashModule::DIGESTSIZE, 8, 200 >
 CDecodingResultReturns a decoding results
 ►CRSAES< STANDARD >::Decryptor
 CDefaultAutoSeededRNGA typedef providing a default generator
 ►CDeterministicSignatureAlgorithmInterface for deterministic signers
 ►CDL_Base< KI >Discrete Log (DL) base interface
 ►CDL_Base< DL_PrivateKey< SCHEME_OPTIONS::Element > >
 ►CDL_Base< DL_PrivateKey< T > >
 ►CDL_Base< DL_PublicKey< SCHEME_OPTIONS::Element > >
 ►CDL_Base< DL_PublicKey< T > >
 ►CDL_Base< KEY_INTFACE >
 CDL_CryptoKeys_ElGamalElGamal encryption keys for safe interop
 ►CDL_CryptoKeys_GFPDiscrete Log (DL) encryption/decryption keys in GF(p) groups
 ►CDL_CryptoKeys_LUCLUC encryption keys
 ►CDL_ElgamalLikeSignatureAlgorithm< T >Interface for Elgamal-like signature algorithms
 ►CDL_ElgamalLikeSignatureAlgorithm< EC::Point >
 ►CDL_ElgamalLikeSignatureAlgorithm< Integer >
 ►CDL_FixedBasePrecomputation< T >DL_FixedBasePrecomputation interface
 ►CDL_FixedBasePrecomputation< Integer >
 ►CDL_FixedBasePrecomputation< typename EcPrecomputation< EC >::Element >
 ►CDL_FixedBasePrecomputation< typename GROUP_PRECOMP::Element >
 ►CDL_FixedBasePrecomputation< typename ModExpPrecomputation::Element >
 CDL_GroupPrecomputation< T >DL_GroupPrecomputation interface
 ►CDL_GroupPrecomputation< EC2N::Point >
 ►CDL_GroupPrecomputation< ECP::Point >
 ►CDL_GroupPrecomputation< Integer >
 ►CDL_Key< T >Base class for a Discrete Log (DL) key
 ►CDL_Key< DL_GroupParameters_EC< EC >::Element >
 ►CDL_Key< GP::Element >
 ►CDL_KeyAgreementAlgorithm< T >Interface for DL key agreement algorithms
 ►CDL_KeyAgreementAlgorithm< ELEMENT >
 ►CDL_KeyAgreementAlgorithm< Integer >
 ►CDL_KeyDerivationAlgorithm< T >Interface for key derivation algorithms used in DL cryptosystems
 ►CDL_KeyDerivationAlgorithm< Integer >
 ►CDL_Keys_DSADSA keys
 ►CDL_Keys_EC< EC >Elliptic Curve Discrete Log (DL) keys
 ►CDL_Keys_ECDSA< EC >Elliptic Curve DSA keys
 ►CDL_Keys_ECGDSA< EC >Elliptic Curve German DSA keys for ISO/IEC 15946
 CDL_SchemeOptionsBase< T1, T2 >Discrete Log (DL) scheme options
 ►CDL_SchemeOptionsBase< T1, T2::PublicKey::GroupParameters >
 ►CDL_SignatureKeys_GFPDiscrete Log (DL) signing/verification keys in GF(p) groups
 ►CDL_SignatureKeys_LUCLUC signature keys
 ►CDL_SymmetricEncryptionAlgorithmInterface for symmetric encryption algorithms used in DL cryptosystems
 CEC2NPointElliptical Curve Point over GF(2^n)
 CECDH< EC, COFACTOR_OPTION >Elliptic Curve Diffie-Hellman
 CECFHMQV< EC, COFACTOR_OPTION, HASH >Fully Hashed Elliptic Curve Menezes-Qu-Vanstone
 CECHMQV< EC, COFACTOR_OPTION, HASH >Hashed Elliptic Curve Menezes-Qu-Vanstone
 CECMQV< EC, COFACTOR_OPTION >Elliptic Curve Menezes-Qu-Vanstone
 CECPPointElliptical Curve Point over GF(p), where p is prime
 CEcPrecomputation< EC >Elliptic Curve precomputation
 Ced25519Ed25519 signature scheme
 CElGamalElGamal encryption scheme with non-standard padding
 CElGamalKeysElGamal key agreement and encryption schemes keys
 ►CEmptyAn Empty class
 CEMSA2HashId< H >EMSA2 hash identifier
 CEncodedPoint< Point >Abstract class for encoding and decoding ellicptic curve points
 ►CEncodedPoint< EC2NPoint >
 ►CEncodedPoint< ECPPoint >
 ►CEncryptionStandardBase class for public key encryption standard classes
 ►CRSAES< STANDARD >::Encryptor
 CEnumToType< ENUM_TYPE, VALUE >Converts an enumeration to a type suitable for use as a template parameter
 ►CESIGN_KeysESIGN keys
 ►Cstd::exceptionSTL class
 ►CFilterPutSpaceHelperCreate a working space in a BufferedTransformation
 CFixedBlockSize< N >Inherited by algorithms with fixed block size
 ►CFixedBlockSize< 12 >
 ►CFixedBlockSize< 16 >
 ►CFixedBlockSize< 2 *T::DIGESTSIZE >
 ►CFixedBlockSize< 32 >
 ►CFixedBlockSize< 4 >
 ►CFixedBlockSize< 64 >
 ►CFixedBlockSize< 8 >
 ►CFixedBlockSize< B::DIGESTSIZE >
 ►CFixedBlockSize< BS >
 ►CFixedBlockSize< H::DIGESTSIZE >
 ►CFixedBlockSize< L >
 CFixedKeyLength< N, IV_REQ, IV_L >Inherited by keyed algorithms with fixed key length
 ►CFixedKeyLength< 10 >
 ►CFixedKeyLength< 12 >
 ►CFixedKeyLength< 16 >
 ►CFixedKeyLength< 16, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE >
 ►CFixedKeyLength< 16, SimpleKeyingInterface::UNIQUE_IV, 16 >
 ►CFixedKeyLength< 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 ►CFixedKeyLength< 20 >
 ►CFixedKeyLength< 20, SimpleKeyingInterface::INTERNALLY_GENERATED_IV, 4 >
 ►CFixedKeyLength< 24 >
 ►CFixedKeyLength< 32 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 12 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 16 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 24 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 >
 ►CFixedKeyLength< 64 >
 ►CFixedKeyLength< 8 >
 ►CFixedKeyLength< B::BLOCKSIZE >
 ►CFixedKeyLength< BS >
 ►CFixedKeyLength< H::BLOCKSIZE >
 CFixedRounds< R >Inherited by algorithms with fixed number of rounds
 ►CFixedRounds< 16 >
 ►CFixedRounds< 20 >
 ►CFixedRounds< 32 >
 ►CFixedRounds< 44 >
 ►CFixedRounds< 8 >
 CFreqLessThan
 CGetBlock< T, B, A >Access a block of memory
 CGF256GF(256) with polynomial basis
 CGF2_32GF(2^32) with polynomial basis
 CGFP2ElementElement of GF(p^2)
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHuffmanDecoderHuffman Decoder
 CHuffmanEncoderHuffman Encoder
 CHuffmanNode
 ►CInfo
 ►CInitializeIntegerPerforms static initialization of the Integer class
 ►CINTFACE
 ►CKalyna_BaseKalyna block cipher base class
 ►CKEYS
 ►CLazyPutterHelper class to finalize Puts on ByteQueue
 CLowFirstBitReader
 ►CLUCLUC cryptosystem
 ►CMaskGeneratingFunctionMask generation function interface
 ►Cmember_ptr< T >Pointer that overloads operator ->
 ►Cmember_ptr< BlockCipherFinal< ENCRYPTION, Base > >
 ►Cmember_ptr< ECP >
 ►Cmember_ptr< GF2NP >
 ►Cmember_ptr< ModularArithmetic >
 ►Cmember_ptr< MontgomeryRepresentation >
 CMicrosoftCryptoProviderWrapper for Microsoft crypto service provider
 ►CNameValuePairsInterface for retrieving values given their names
 CNewObject< T >An object factory function
 ►CNotCopyableEnsures an object is not copyable
 ►CObjectFactory< AbstractClass >Object factory interface for registering objects
 CObjectFactoryRegistry< AbstractClass, instance >Object factory registry
 CObjectHolder< T >Uses encapsulation to hide an object in derived classes
 ►CObjectHolder< CIPHER >
 ►CObjectHolder< HASH_ALGORITHM >
 COIDObject Identifier
 CP1363_KDF2< H >P1363 key derivation function
 ►CPanama< B >
 ►CPanama< LittleEndian >
 ►CPK
 ►CPK_CryptoSystemInterface for public-key encryptors and decryptors
 ►CPK_EncryptionMessageEncodingMethodMessage encoding method for public key encryption
 ►CPK_SignatureMessageEncodingMethodInterface for message encoding method for public key signature schemes
 ►CPK_SignatureSchemeInterface for public-key signers and verifiers
 CPKCS_DigestDecoration< H >PKCS #1 decoration data structure
 ►CPOLICY
 ►CPOLICY_INTERFACE
 CPolynomialMod2Polynomial with Coefficients in GF(2)
 ►CPolynomialOver< T >Single-variable polynomials over arbitrary rings
 CPrimeAndGeneratorGenerator of prime numbers of special forms
 ►CPrimeSelectorApplication callback to signal suitability of a cabdidate prime
 CPSSR_MEM_BaseWithHashId< USE_HASH_ID >PSSR Message Encoding Method with Hash Identifier
 CPutBlock< T, B, A >Access a block of memory
 ►CRabinRabin keys
 CPolynomialOver< T >::RandomizationParameterSpecify the distribution for randomization functions
 ►CRandomizedTrapdoorFunctionInverseApplies the inverse of the trapdoor function, using random data if required
 CRawDESDES block cipher base class
 CAllocatorWithCleanup< T, T_Align16 >::rebind< V >Template class member Rebind
 CRegisterDefaultFactoryFor< AbstractClass, ConcreteClass, instance >Object factory registry helper
 CCFB_CipherConcretePolicy< WT, W, BASE >::RegisterOutput< B >Provides alternate access to a feedback register
 ►CRSARSA algorithm
 ►CRSA_ISORSA algorithm
 ►CRWRabin-Williams keys
 ►CSAFERSAFER block cipher
 CSafeShifter< overflow >Safely shift values when undefined behavior could occur
 CSafeShifter< false >Shifts a value in the absence of overflow
 CSafeShifter< true >Shifts a value in the presence of overflow
 ►CSameKeyLengthAs< T, IV_REQ, IV_L >Provides key lengths based on another class's key length
 ►CSameKeyLengthAs< T_BlockCipher >
 CSEAL_Gamma
 ►CSecBlock< T, A >Secure memory block with allocator and cleanup
 ►CSecBlock< byte >
 ►CSecBlock< byte, AllocatorWithCleanup< byte > >
 ►CSecBlock< byte, AllocatorWithCleanup< byte, true > >
 ►CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, T_Align16 > >
 ►CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, true > >
 ►CSecBlock< T, FixedSizeAllocatorWithCleanup< T, S, NullAllocator< T >, true > >
 ►CSecBlock< T_HashWordType, FixedSizeAllocatorWithCleanup< T_HashWordType, S, NullAllocator< T_HashWordType >, T_Align16 > >
 ►CSecBlock< word >
 ►CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, T_Align16 > >
 ►CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, true > >
 ►CSecBlock< word64, FixedSizeAllocatorWithCleanup< word64, S, NullAllocator< word64 >, T_Align16 > >
 CSignalHandler< S, O >Signal handler for Linux and Unix compatibles
 ►CSignalHandler< SIGTRAP, false >
 ►CSignatureStandardBase class for public key signature standard classes
 ►CRSASS< STANDARD, H >::Signer
 CSIMON_Base< W >SIMON block cipher base class
 ►CSIMON_Base< word32 >
 ►CSIMON_Base< word64 >
 Csimple_ptr< T >Manages resources for a single object
 ►CSimpleKeyingInterfaceInterface for algorithms that take byte strings as keys
 CSingleton< T, F, instance >Restricts the instantiation of a class to one static object without locks
 CSPECK_Base< W >SPECK block cipher base class
 ►CSPECK_Base< word32 >
 ►CSPECK_Base< word64 >
 ►CSymmetricCipherDocumentationProvides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher
 ►CT
 CTF_Base< TFI, MEI >The base for trapdoor based cryptosystems
 ►CTF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod >
 ►CTF_Base< RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod >
 ►CTF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod >
 ►CTF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod >
 ►CTF_CryptoSchemeOptions< T1, T2, T3 >Trapdoor Function (TF) scheme options
 ►CTF_CryptoSchemeOptions< ALG_INFO, KEYS, MessageEncodingMethod >
 CThreefish_Base< BS >Threefish block cipher base class
 ►CThreefish_Base< 128 >
 ►CThreefish_Base< 32 >
 ►CThreefish_Base< 64 >
 ►CTimerBaseBase class for timers
 ►CTrapdoorFunctionBoundsProvides range for plaintext and ciphertext lengths
 ►CTwoBases
 ►CVariableKeyLength< D, N, M, Q, IV_REQ, IV_L >Inherited by keyed algorithms with variable key length
 ►CVariableKeyLength< 16, 0, 2 *(INT_MAX/2), 2 >
 ►CVariableKeyLength< 16, 0, 255 >
 ►CVariableKeyLength< 16, 0, INT_MAX >
 ►CVariableKeyLength< 16, 1, 128 >
 ►CVariableKeyLength< 16, 1, 256 >
 ►CVariableKeyLength< 16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16 >
 ►CVariableKeyLength< 16, 16, 32 >
 ►CVariableKeyLength< 16, 16, 32, 16 >
 ►CVariableKeyLength< 16, 16, 32, 4 >
 ►CVariableKeyLength< 16, 16, 32, 8 >
 ►CVariableKeyLength< 16, 16, 56, 8 >
 ►CVariableKeyLength< 16, 16, 64 >
 ►CVariableKeyLength< 16, 4, 56 >
 ►CVariableKeyLength< 16, 5, 16 >
 ►CVariableKeyLength< 16, 8, 16, 8 >
 ►CVariableKeyLength< 32, 0, 32, 1, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE >
 ►CVariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 ►CVariableKeyLength< 32, 32, 64 >
 ►CVariableKeyLength< 64, 0, 64, 1, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE >
 CVariableRounds< D, N, M >Inherited by algorithms with variable number of rounds
 ►CVariableRounds< 10, 1, 13 >
 ►CVariableRounds< 11 >
 ►CVariableRounds< 16 >
 ►CVariableRounds< 20 >
 ►CVariableRounds< 32 >
 ►CVariableRounds< 6, 2 >
 Cvector_member_ptrs< T >Manages resources for an array of objects
 ►CRSASS< STANDARD, H >::Verifier
 ►CWaitableInterface for objects that can be waited on
 ►CWAKE_Base
 CWindowSlider