Crypto++  5.6.5
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< byte >
 CAllocatorBase< EncodedMatch >
 CAllocatorBase< HuffmanEncoder::Code >
 CAllocatorBase< ParameterBlock >
 CAllocatorBase< RC5_WORD >
 CAllocatorBase< RC6_WORD >
 CAllocatorBase< State >
 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
 CCASTCAST block cipher base
 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
 CDataParametersInfo< BlockSize, KeyLength, DigestSize, SaltSize, Iterations >Algorithm information for password-based encryptors and decryptors
 CDecodingResultReturns a decoding results
 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_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 >
 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 >Elliptic Curve Discrete Log (DL) keys
 CDL_Keys_ECDSA< EC >Elliptic Curve DSA keys
 CDL_Keys_ECGDSA_ISO15946< 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
 CEcRecommendedParameters< T >
 CEcRecommendedParameters< EC2N >
 CEcRecommendedParameters< ECP >
 CElGamalElGamal encryption scheme with non-standard padding
 CElGamalKeysElGamal key agreement and encryption schemes keys
 CEmptyAn Empty class
 CEMSA2HashId< H >
 CEncodedPoint< Point >Abstract class for encoding and decoding ellicptic curve points
 CEncodedPoint< EC2NPoint >
 CEncodedPoint< ECPPoint >
 CEncryptionStandardBase class for public key encryption standard classes
 CEnumToType< ENUM_TYPE, VALUE >Converts an enumeration to a type suitable for use as a template parameter
 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< 8 >
 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, 16 >
 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
 CHuffmanEncoderHuffman Encoder
 CInitializeIntegerPerforms static initialization of the Integer class
 CKeccak_224Keccak-X message digest, template for more fine-grained typedefs
 CKeyDerivationFunctionAbstract base class for key derivation function
 CLazyPutterUse this to make sure LazyPut is finalized in event of exception
 CLUCLUC Integrated Encryption Scheme
 CMaskGeneratingFunctionMask generation function interface
 Cmember_ptr< T >Pointer that overloads operator ->
 Cmember_ptr< AlgorithmParametersBase >
 Cmember_ptr< BlockCipher >
 Cmember_ptr< BlockCipherFinal >
 Cmember_ptr< BlockTransformation >
 Cmember_ptr< BufferedTransformation >
 Cmember_ptr< DefaultMAC >
 Cmember_ptr< ECP >
 Cmember_ptr< FilterWithBufferedInput >
 Cmember_ptr< GF2NP >
 Cmember_ptr< MAC >
 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 >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 >
 CPanama< B >
 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 >PKCS#1 decoration data structure
 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< U >Template class memeber 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 >
 CSameKeyLengthAs< T_BlockCipher >
 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< ParameterBlock, AllocatorWithCleanup< ParameterBlock, true > >
 CSecBlock< RC5_WORD >
 CSecBlock< RC6_WORD >
 CSecBlock< State, AllocatorWithCleanup< State, true > >
 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, true > >
 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, AllocatorWithCleanup< word64, true > >
 CSecBlock< word64, FixedSizeAllocatorWithCleanup< word64, S > >
 CSecBlock< word64, FixedSizeAllocatorWithCleanup< word64, S, NullAllocator< word64 >, T_Align16 > >
 CSHA3_224SHA3-X message digest, template for more fine-grained typedefs
 CSignalHandler< S, O >Signal handler for Linux and Unix compatibles
 CSignalHandler< SIGILL, false >
 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 >_
 CThreefish1024Threefish-1024 block cipher
 CTimerBaseBase class for timers
 CTrapdoorFunctionBoundsProvides range for plaintext and ciphertext lengths
 CVariableBlockSize< D, N, M >Inherited by algorithms with variable blocksize
 CVariableBlockSize< 16, 16, 64 >
 CVariableBlockSize< 32, 32, 128 >
 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, 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, 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