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 > >
 CAdditiveCipherAbstractPolicyPolicy object for additive stream ciphers
 CAlgorithmParametersBaseBase class for AlgorithmParameters
 CAllocatorBase< T >Base class for all allocators used by SecBlock
 CAllocatorBase< BLAKE2_ParameterBlock >
 CAllocatorBase< BLAKE2_State >
 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
 CBaseAndExponent< T, E >Base and exponent
 CBLAKE2_ParameterBlock< T_64bit >BLAKE2 parameter block
 CBLAKE2_ParameterBlock< false >BLAKE2s parameter block specialization
 CBLAKE2_ParameterBlock< true >BLAKE2b parameter block specialization
 CBLAKE2_State< W, T_64bit >BLAKE2 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
 CCFB_CipherAbstractPolicyPolicy object for feeback based stream ciphers
 CClonableInterface for cloning objects
 CConstByteArrayParameterUsed to pass byte array input as part of a NameValuePairs object
 Ccounted_ptr< T >Reference counted pointer
 CDecodingResultReturns a decoding results
 CDefaultAutoSeededRNGA typedef providing a default generator
 CDigestSizeDoubleWorkaround< T >
 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_CryptoKeys_GFPDL encryption/decryption keys (in GF(p) groups)
 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_SchemeOptionsBase< T1, T2 >Discrete Log (DL) scheme options
 CDL_SchemeOptionsBase< T1, T2::PublicKey::GroupParameters >
 CDL_SignatureKeys_GFPDL signing/verification keys (in GF(p) groups)
 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 >
 CEcRecommendedParameters< T >
 CEcRecommendedParameters< EC2N >
 CEcRecommendedParameters< ECP >
 CElGamalElGamal encryption scheme with non-standard padding
 CEmptyAn Empty class
 CEMSA2HashId< H >
 CEncryptionStandardBase class for public key encryption standard classes
 CEnumToType< ENUM_TYPE, VALUE >Converts a typename to an enumerated value
 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 >
 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::HashIdentifierLookup2< H >
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHuffmanDecoderHuffman Decoder
 CInitializeIntegerPerforms static intialization of the Integer class
 CKeyDerivationFunctionAbstract base class for key derivation function
 CLazyPutterUse this to make sure LazyPut is finalized in event of exception
 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
 CNewInteger< i >
 CNewObject< T >An object factory function
 CNewPolynomialMod2< i >
 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
 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
 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
 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 >Template class memeber Rebind
 CRegisterDefaultFactoryFor< AbstractClass, ConcreteClass, instance >
 CCFB_CipherConcretePolicy< WT, W, BASE >::RegisterOutput< B >
 CRSARSA algorithm
 CRSA_ISORSA algorithm
 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 >
 CSecBlock< T, A >Secure memory block with allocator and cleanup
 CSecBlock< BLAKE2_ParameterBlock, FixedSizeAllocatorWithCleanup< BLAKE2_ParameterBlock, S, NullAllocator< BLAKE2_ParameterBlock >, T_Align16 > >
 CSecBlock< BLAKE2_State, FixedSizeAllocatorWithCleanup< BLAKE2_State, S, NullAllocator< BLAKE2_State >, T_Align16 > >
 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
 CSocketWrapper for Windows or Berkeley Sockets
 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 >_
 CTimerBaseBase class for timers
 CTrapdoorFunctionBoundsProvides range for plaintext and ciphertext lengths
 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 >
 CVariableKeyLength<(T_64bit?64:32), 0,(T_64bit?64:32), 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
 Cvector_ptr< T >Manages resources for an array of objects
 CWaitableInterface for objects that can be waited on
 CWindowsHandleWindows Handle
 CWindowsPipeWindows Pipe