Crypto++  5.6.3
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 >
 CAbstractGroup< PolynomialOver< T > >
 CAdditiveCipherAbstractPolicy
 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 >
 CARC4_Base
 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
 CBlockCipherDocumentationProvides Encryption and Decryption typedefs used by derived classes to implement a block cipher
 CBlockGetAndPut< T, B, GA, PA >
 CBlockPaddingSchemeDefPadding schemes used for block ciphers
 CByteArrayParameterUsed to pass byte array input as part of a NameValuePairs object
 CByteQueueNode
 CCallStack
 CCAST
 CCFB_CipherAbstractPolicy
 CChannelSwitchTypedefs
 CCipherFactory
 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
 CDec
 CDecodingResultReturns a decoding results
 CDefaultAutoSeededRNGA typedef providing a default generator
 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< typename EcPrecomputation< EC >::Element >
 CDL_FixedBasePrecomputation< typename ModExpPrecomputation::Element >
 CDL_GroupPrecomputation< T >
 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 >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
 CDWord
 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 >
 CEcRecommendedParameters< T >
 CEcRecommendedParameters< EC2N >
 CEcRecommendedParameters< ECP >
 CElGamalElGamal encryption scheme with non-standard padding
 CElGamalKeys
 CEmptyAn Empty class
 CEMSA2HashId< H >
 CEnc
 CEncryptionStandardBase class for public key encryption standard classes
 CEnumToType< ENUM_TYPE, VALUE >Converts a typename to an enumerated value
 CESIGN_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< 32 >
 CFixedBlockSize< 8 >
 CFixedBlockSize< DigestSizeDoubleWorkaround< T >::RESULT >
 CFixedBlockSize< T::DIGESTSIZE >
 CFixedKeyLength< N, IV_REQ, IV_L >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 >Inherited by algorithms with fixed number of rounds
 CFixedRounds< 16 >
 CFixedRounds< 32 >
 CFixedRounds< 8 >
 CFreqLessThan
 CGetBlock< T, B, A >
 CGF256GF(256) with polynomial basis
 CGF2_32GF(2^32) with polynomial basis
 CGFP2ElementElement of GF(p^2)
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHashTestTuple
 CHKDF_TestTuple
 CHuffmanDecoderHuffman Decoder
 CHuffmanEncoder
 CHuffmanNode
 CInitializeIntegerPerforms static intialization of the Integer class
 CINTERFACE
 CKeyDerivationFunctionAbstract base class for key derivation function
 CLazyPutterUse this to make sure LazyPut is finalized in event of exception
 CLimitedBandwidth
 CLowFirstBitReader_
 CLUC
 CMARC4_Base
 CMaskGeneratingFunctionMask generation function interface
 Cmember_ptr< T >Pointer that overloads operator→
 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 >
 CMicrosoftCryptoProviderWrapper for Microsoft crypto service provider
 CNameValuePairsInterface for retrieving values given their names
 CNewFixedDistanceDecoder
 CNewFixedLiteralDecoder
 CNewInteger< i >
 CNewLastSmallPrimeSquared
 CNewObject< T >An object factory function
 CNewPolynomialMod2< i >
 CNewPrimeTable
 CNonblockingSinkInfo
 CNotCopyableEnsures an object is not copyable
 CObjectFactory< AbstractClass >_
 CObjectFactoryRegistry< AbstractClass, instance >_
 CObjectHolder< T >Uses encapsulation to hide an object in derived classes
 CObjectHolder< CIPHER >
 CObjectHolder< HASH_ALGORITHM >
 COIDObject Identifier
 COIDLessThan
 CP1363_KDF2< H >
 CPanama< B >Base class, do not use directly
 CPasswordBasedKeyDerivationFunctionAbstract base class for password based key derivation function
 CPBKDF_TestTuple
 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
 CPrimeSelectorApplication callback to signal suitability of a cabdidate prime
 CPrimeSieve
 CPSSR_MEM_BaseWithHashId< USE_HASH_ID >
 CPutBlock< T, B, A >
 CRabinRabin
 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< U >
 CRegisterDefaultFactoryFor< AbstractClass, ConcreteClass, instance >
 CCFB_CipherConcretePolicy< WT, W, BASE >::RegisterOutput< B >
 CRSARSA
 CRSA_ISO
 CRWRW
 CSafeLeftShiftSafely left shift values when undefined behavior could occur
 CSAFERSAFER base class
 CSafeRightShiftSafely right shift values when undefined behavior could occur
 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 >
 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 > >
 CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, T_Align16 > >
 CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, true > >
 CSecBlock< 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 > >
 CSharkProcessAndXorBlock< sbox, cbox >
 CSignatureStandardBase class for public key signature standard classes
 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
 CStreamState
 CSymmetricCipherDocumentationProvides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher
 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 >_
 CTimerBase_
 CTracer
 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, 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, 16, 32 >
 CVariableKeyLength< 16, 16, 32, 8 >
 CVariableKeyLength< 16, 16, 56, 4 >
 CVariableKeyLength< 16, 16, 64 >
 CVariableKeyLength< 16, 4, 56 >
 CVariableKeyLength< 16, 5, 16 >
 CVariableKeyLength< 16, 8, 16, 8 >
 CVariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 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
 Cvector_ptr< T >Manages resources for an array of objects
 CWaitableInterface for objects that can be waited on
 CWaitingThreadData
 CWAKE_Base
 CWindowSlider
 CWord
 CKEYS
 CPK
 CPOLICY
 CPOLICY_INTERFACE
 CT
 CT_Base