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< W >
 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 >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
 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< 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< 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< B::BLOCKSIZE >
 CFixedKeyLength< BS >
 CFixedKeyLength< H ::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
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHuffmanDecoderHuffman Decoder
 CHuffmanEncoderHuffman Encoder
 CInitializeIntegerPerforms static initialization of the Integer class
 CKeyDerivationFunctionAbstract base class for key derivation function
 CLazyPutterUse this to make sure LazyPut is finalized in event of exception
 CLUCLUC cryptosystem
 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< W, AllocatorWithCleanup< W, true > >
 CSecBlock< word >
 CSecBlock< word, AllocatorWithCleanup< word, true > >
 CSecBlock< Word, FixedSizeAllocatorWithCleanup< Word, S > >
 CSecBlock< word16 >
 CSecBlock< word16, FixedSizeAllocatorWithCleanup< word16, S > >
 CSecBlock< word32 >
 CSecBlock< word32, AllocatorWithCleanup< word32 > >
 CSecBlock< word32, AllocatorWithCleanup< word32, true > >
 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 > >
 CSignalHandler< S, O >Signal handler for Linux and Unix compatibles
 CSignalHandler< SIGILL, false >
 CSignatureStandardBase class for public key signature standard classes
 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
 CSocketWrapper for Windows or Berkeley Sockets
 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
 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
 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
 CVariableBlockSize< D, N, M >Inherited by algorithms with variable blocksize
 CVariableBlockSize< 16, 16, 64 >
 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< D, N, M >
 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