Crypto++
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 >
 ►CAbstractGroup< PolynomialOver< T > >
 ►CAdditiveCipherAbstractPolicy
 ►CAlgorithmParametersBase
 ►CAllocatorBase< T >
 ►CAllocatorBase< byte >
 ►CAllocatorBase< Deflator::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 >
 ►CARC4_Base
 ►CASN1ObjectInterface for encoding and decoding ASN1 objects
 CAssignFromHelperClass< T, BASE >
 ►CAuthenticatedSymmetricCipherDocumentationEach class derived from this one defines two types, Encryption and Decryption, both of which implement the AuthenticatedSymmetricCipher interface
 ►CBASE
 ►CBASE1
 ►CBASE2
 ►CBASE3
 CBaseAndExponent< T, E >Base and Exponent
 ►CBlockCipherDocumentationThese objects usually should not be used directly. See CipherModeDocumentation instead
 CBlockGetAndPut< T, B, GA, PA >
 ►CBlockPaddingSchemeDef
 CFilterWithBufferedInput::BlockQueue
 CByteArrayParameter
 ►CCallStack
 CCAST
 ►CCFB_CipherAbstractPolicy
 ►CChannelSwitchTypedefs
 ►CClonableInterface for cloning objects, this is not implemented by most classes yet
 CHuffmanEncoder::Code
 CCompileAssert< b >
 CCompileAssert<((T_BlockSize &(T_BlockSize-1))==0)>
 CCompileAssert<(M%1==0)>
 CCompileAssert<(M%Q==0)>
 CCompileAssert<(N%1==0)>
 CCompileAssert<(N%Q==0)>
 CCompileAssert<(N< M)>
 CConstByteArrayParameterUsed to pass byte array input as part of a NameValuePairs object
 Ccounted_ptr< T >
 ►CDec
 CDecodingResultUsed to return decoding results
 CDigestSizeDoubleWorkaround< T >
 ►CDL_Base< KI >_
 ►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_INTERFACE >
 ►CDL_CryptoKeys_GFPDL encryption/decryption keys (in GF(p) groups)
 ►CDL_CryptoKeys_LUC_
 ►CDL_ElgamalLikeSignatureAlgorithm< T >Interface for Elgamal-like signature algorithms
 ►CDL_ElgamalLikeSignatureAlgorithm< EC::Point >
 ►CDL_ElgamalLikeSignatureAlgorithm< Integer >
 ►CDL_FixedBasePrecomputation< T >
 ►CDL_FixedBasePrecomputation< Integer >
 ►CDL_FixedBasePrecomputation< typenameEcPrecomputation< EC >::Element >
 ►CDL_FixedBasePrecomputation< typenameModExpPrecomputation::Element >
 CDL_GroupPrecomputation< T >
 ►CDL_GroupPrecomputation< EC2N::Point >
 ►CDL_GroupPrecomputation< ECP::Point >
 ►CDL_GroupPrecomputation< Integer >
 ►CDL_Key< T >_
 ►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 >EC keys
 ►CDL_Keys_ECDSA< EC >ECDSA keys
 CDL_SchemeOptionsBase< T1, T2 >_
 ►CDL_SchemeOptionsBase< T1, T2::PublicKey::GroupParameters >
 ►CDL_SignatureKeys_GFPDL signing/verification keys (in GF(p) groups)
 ►CDL_SignatureKeys_LUC_
 ►CDL_SymmetricEncryptionAlgorithmInterface for symmetric encryption algorithms used in DL cryptosystems
 CEC2NPointElliptic Curve Point
 CECDH< EC, COFACTOR_OPTION >Elliptic Curve Diffie-Hellman, AKA ECDH
 CECMQV< EC, COFACTOR_OPTION >Elliptic Curve Menezes-Qu-Vanstone, AKA ECMQV
 CECPPointElliptical Curve Point
 CEcPrecomputation< T >
 CEcPrecomputation< EC >
 CElGamalElGamal encryption scheme with non-standard padding
 CElGamalKeys
 ►CEmpty
 CEMSA2HashId< H >
 ►CEnc
 CDeflator::EncodedMatch
 ►CEncryptionStandardBase class for public key encryption standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms
 CEnumToType< ENUM_TYPE, VALUE >
 ►CESIGN_Keys
 ►Cexception
 ►CFilterPutSpaceHelper
 CFixedBlockSize< N >To be inherited by block ciphers with fixed block size
 ►CFixedBlockSize< 12 >
 ►CFixedBlockSize< 16 >
 ►CFixedBlockSize< 32 >
 ►CFixedBlockSize< 8 >
 ►CFixedBlockSize< DigestSizeDoubleWorkaround< T >::RESULT >
 ►CFixedBlockSize< T::DIGESTSIZE >
 CFixedKeyLength< N, IV_REQ, IV_L >To be inherited by keyed algorithms with fixed key length
 ►CFixedKeyLength< 10 >
 ►CFixedKeyLength< 12 >
 ►CFixedKeyLength< 16 >
 ►CFixedKeyLength< 20 >
 ►CFixedKeyLength< 20, SimpleKeyingInterface::INTERNALLY_GENERATED_IV, 4 >
 ►CFixedKeyLength< 24 >
 ►CFixedKeyLength< 32 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 24 >
 ►CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 >
 ►CFixedKeyLength< 8 >
 ►CFixedKeyLength< T::BLOCKSIZE >
 CFixedRounds< R >To be inherited by ciphers with fixed number of rounds
 ►CFixedRounds< 16 >
 ►CFixedRounds< 32 >
 ►CFixedRounds< 8 >
 CGetBlock< T, B, A >
 CGetValueHelperClass< T, BASE >
 CGF256GF(256) with polynomial basis
 CGF2_32GF(2^32) with polynomial basis
 CGFP2ElementElement of GF(p^2)
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHuffmanDecoderHuffman Decoder
 CHuffmanEncoderHuffman Encoder
 ►CInitializeInteger
 ►CINTERFACE
 ►CLazyPutterUse this to make sure LazyPut is finalized in event of exception
 ►CLimitedBandwidth
 CLowFirstBitReader_
 ►CLUC
 ►CMARC4_Base
 ►CMaskGeneratingFunction_
 ►Cmember_ptr< T >
 Cmember_ptr< AlgorithmParametersBase >
 Cmember_ptr< BlockCipher >
 Cmember_ptr< BlockTransformation >
 Cmember_ptr< BufferedTransformation >
 ►Cmember_ptr< DES::BlockCipherFinal >
 ►Cmember_ptr< ECP >
 Cmember_ptr< FilterWithBufferedInput >
 ►Cmember_ptr< GF2NP >
 Cmember_ptr< HMAC >
 ►Cmember_ptr< ModularArithmetic >
 ►Cmember_ptr< MontgomeryRepresentation >
 Cmember_ptr< PK_MessageAccumulator >
 Cmember_ptr< RandomNumberGenerator >
 Cmember_ptr< std::ifstream >
 Cmember_ptr< std::ofstream >
 CMicrosoftCryptoProvider
 ►CNameValuePairsInterface for retrieving values given their names
 CNewObject< T >
 ►CNonblockingSinkInfo
 ►CNotCopyable
 ►CObjectFactory< AbstractClass >_
 CObjectFactoryRegistry< AbstractClass, instance >_
 CObjectHolder< T >
 ►CObjectHolder< CIPHER >
 ►CObjectHolder< HASH_ALGORITHM >
 COIDObject Identifier
 CP1363_KDF2< H >_
 ►CPanama< B >Base class, do not use directly
 ►CPasswordBasedKeyDerivationFunctionAbstract base class for password based key derivation function
 ►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 >
 CPolynomialMod2Polynomial with Coefficients in GF(2)
 ►CPolynomialOver< T >Single-variable polynomials over arbitrary rings
 CPrimeAndGeneratorGenerator of prime numbers of special forms
 CPrimeSelector
 ►CPSSR_MEM_BaseWithHashId< USE_HASH_ID >
 CPutBlock< T, B, A >
 ►CRabinRabin
 CPolynomialOver< T >::RandomizationParameterSpecify the distribution for randomization functions
 ►CRandomizedTrapdoorFunctionInverse_
 CRawDES
 CAllocatorWithCleanup< T, T_Align16 >::rebind< U >
 CRegisterDefaultFactoryFor< AbstractClass, ConcreteClass, instance >
 CCFB_CipherConcretePolicy< WT, W, BASE >::RegisterOutput< B >
 ►CRSARSA
 ►CRSA_ISO
 ►CRWRW
 ►CSAFERBase class, do not use directly
 CSafeShifter< overflow >
 CSafeShifter< false >
 CSafeShifter< true >
 CSameKeyLengthAs< T, IV_REQ, IV_L >Support query of key length that's the same as another class
 ►CSameKeyLengthAs< T >
 ►CSameKeyLengthAs< T_BlockCipher >
 ►CSecBlock< T, A >Block of memory allocated using A
 CSecBlock< byte >
 ►CSecBlock< byte, AllocatorWithCleanup< byte > >
 CSecBlock< byte, AllocatorWithCleanup< byte, true > >
 ►CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S > >
 CSecBlock< Deflator::EncodedMatch >
 CSecBlock< HuffmanEncoder::Code >
 CSecBlock< RC5_WORD >
 CSecBlock< RC6_WORD >
 ►CSecBlock< T, FixedSizeAllocatorWithCleanup< T, S, NullAllocator< T >, T_Align16 > >
 ►CSecBlock< T_HashWordType, FixedSizeAllocatorWithCleanup< T_HashWordType, S > >
 ►CSecBlock< T_HashWordType, FixedSizeAllocatorWithCleanup< T_HashWordType, S, NullAllocator< T_HashWordType >, T_Align16 > >
 ►CSecBlock< unsigned int, FixedSizeAllocatorWithCleanup< unsigned int, S > >
 CSecBlock< word >
 CSecBlock< word, AllocatorWithCleanup< word, 0 > >
 ►CSecBlock< Word, FixedSizeAllocatorWithCleanup< Word, S > >
 CSecBlock< word16 >
 ►CSecBlock< word16, FixedSizeAllocatorWithCleanup< word16, S > >
 CSecBlock< word32 >
 ►CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S > >
 ►CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, T_Align16 > >
 ►CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, true > >
 CSecBlock< word64 >
 ►CSecBlock< word64, FixedSizeAllocatorWithCleanup< word64, S > >
 ►CSecBlock< word64, FixedSizeAllocatorWithCleanup< word64, S, NullAllocator< word64 >, T_Align16 > >
 ►CSignatureStandardBase class for public key signature standard classes. These classes are used to select from variants of algorithms. Note that not all standards apply to all algorithms
 Csimple_ptr< T >
 ►CSimpleKeyingInterfaceKeying interface for crypto algorithms that take byte strings as keys
 CSingleton< T, F, instance >
 ►CSocketWrapper for Windows or Berkeley Sockets
 CSocketsInitializer
 ►CSymmetricCipherDocumentationEach class derived from this one defines two types, Encryption and Decryption, both of which implement the SymmetricCipher interface. Two types of classes derive from this class: stream ciphers and block cipher modes. Stream ciphers can be used alone, cipher mode classes need to be used with a block cipher. See CipherModeDocumentation for more for information about using cipher modes and block ciphers
 CTF_Base< TFI, MEI >_
 ►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 >_
 ►CTimerBase_
 ►CTracer
 ►CTrapdoorFunctionBounds_
 CVariableKeyLength< D, N, M, Q, IV_REQ, IV_L >Support query of variable key length, template parameters are default, min, max, multiple (default multiple 1)
 ►CVariableKeyLength< 16, 0, 2 *(INT_MAX/2), 2 >
 ►CVariableKeyLength< 16, 0, 255 >
 ►CVariableKeyLength< 16, 0, 32 >
 ►CVariableKeyLength< 16, 0, INT_MAX >
 ►CVariableKeyLength< 16, 1, 128 >
 ►CVariableKeyLength< 16, 1, 16 >
 ►CVariableKeyLength< 16, 1, 256 >
 ►CVariableKeyLength< 16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16 >
 ►CVariableKeyLength< 16, 1, 56 >
 ►CVariableKeyLength< 16, 16, 32 >
 ►CVariableKeyLength< 16, 16, 32, 8 >
 ►CVariableKeyLength< 16, 16, 56, 4 >
 ►CVariableKeyLength< 16, 16, 64 >
 ►CVariableKeyLength< 16, 5, 16 >
 ►CVariableKeyLength< 16, 8, 16, 8 >
 ►CVariableKeyLength< 32, 0, INT_MAX >
 ►CVariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 CVariableRounds< D, N, M >To be inherited by ciphers with variable number of rounds
 ►CVariableRounds< 10, 1, 13 >
 ►CVariableRounds< 11 >
 ►CVariableRounds< 16 >
 ►CVariableRounds< 20 >
 ►CVariableRounds< 32 >
 ►CVariableRounds< 6, 2 >
 Cvector_member_ptrs< T >
 ►CWaitableInterface for objects that you can wait for
 ►CWAKE_Base
 ►CINFO
 ►CKEYS
 ►CPK
 ►CPOLICY
 ►CPOLICY_INTERFACE
 ►CT
 ►CT_Base