Crypto++ 8.7
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< 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< RC5_WORD >
 CAllocatorBase< RC6_WORD >
 CAllocatorBase< T_HashWordType >
 CAllocatorBase< unsigned int >
 CAllocatorBase< W >
 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
 CBLAKE2b_ParameterBlockBLAKE2b parameter block
 CBLAKE2b_StateBLAKE2b state information
 CBLAKE2s_ParameterBlockBLAKE2s parameter block
 CBLAKE2s_StateBLAKE2s 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 feedback based stream ciphers
 CChannelSwitchTypedefs
 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
 CDataParametersInfo< BlockSize, KeyLength, DigestSize, SaltSize, Iterations >Algorithm information for password-based encryptors and decryptors
 CDec
 CDecodingResultReturns a decoding results
 CRSAES< STANDARD >::Decryptor
 CRSAES< STANDARD >::Decryptor
 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_Base< KEY_INTFACE >
 CDL_CryptoKeys_ElGamalElGamal encryption keys for safe interop
 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 >DL_FixedBasePrecomputation interface
 CDL_FixedBasePrecomputation< Integer >
 CDL_FixedBasePrecomputation< typename GROUP_PRECOMP::Element >
 CDL_GroupPrecomputation< T >DL_GroupPrecomputation interface
 CDL_GroupPrecomputation< EC2N::Point >
 CDL_GroupPrecomputation< ECP::Point >
 CDL_GroupPrecomputation< Integer >
 CDL_Key< T >Base class for a Discrete Log (DL) key
 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< 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
 Ced25519Ed25519 signature scheme
 CElGamalElGamal encryption scheme with non-standard padding
 CElGamalKeysElGamal key agreement and encryption schemes keys
 CEmptyAn Empty class
 CEMSA2HashId< H >EMSA2 hash identifier
 CEnc
 CEncodedPoint< Point >Abstract class for encoding and decoding ellicptic curve points
 CEncodedPoint< EC2NPoint >
 CEncodedPoint< ECPPoint >
 CEncryptionStandardBase class for public key encryption standard classes
 CRSAES< STANDARD >::Encryptor
 CRSAES< STANDARD >::Encryptor
 CEnumToType< ENUM_TYPE, VALUE >Converts an enumeration to a type suitable for use as a template parameter
 CESIGN_KeysESIGN 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< 2 *T::DIGESTSIZE >
 CFixedBlockSize< 32 >
 CFixedBlockSize< 4 >
 CFixedBlockSize< 64 >
 CFixedBlockSize< 8 >
 CFixedBlockSize< B::DIGESTSIZE >
 CFixedBlockSize< BS >
 CFixedBlockSize< L >
 CFixedKeyLength< N, IV_REQ, IV_L >Inherited by keyed algorithms with fixed key length
 CFixedKeyLength< 10 >
 CFixedKeyLength< 12 >
 CFixedKeyLength< 16 >
 CFixedKeyLength< 16, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE >
 CFixedKeyLength< 16, SimpleKeyingInterface::UNIQUE_IV, 16 >
 CFixedKeyLength< 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 CFixedKeyLength< 20 >
 CFixedKeyLength< 20, SimpleKeyingInterface::INTERNALLY_GENERATED_IV, 4 >
 CFixedKeyLength< 24 >
 CFixedKeyLength< 32 >
 CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 12 >
 CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 16 >
 CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 24 >
 CFixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 32 >
 CFixedKeyLength< 64 >
 CFixedKeyLength< 8 >
 CFixedKeyLength< B::BLOCKSIZE >
 CFixedKeyLength< BS >
 CFixedRounds< R >Inherited by algorithms with fixed number of rounds
 CFixedRounds< 16 >
 CFixedRounds< 20 >
 CFixedRounds< 32 >
 CFixedRounds< 44 >
 CFixedRounds< 8 >
 CFreqLessThan
 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
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup
 CEMSA2HashIdLookup< BASE >::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPK_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CPKCS1v15_SignatureMessageEncodingMethod::HashIdentifierLookup::HashIdentifierLookup2< H >
 CHuffmanDecoderHuffman Decoder
 CHuffmanEncoderHuffman Encoder
 CHuffmanNode
 CInfo
 CInitializeIntegerPerforms static initialization of the Integer class
 CINTFACE
 CKalyna_BaseKalyna block cipher base class
 CKEYS
 CLazyPutterHelper class to finalize Puts on ByteQueue
 CLowFirstBitReader
 CLUCLUC cryptosystem
 CMARC4_Base
 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< HuffmanDecoder >
 Cmember_ptr< LegacyMAC >
 Cmember_ptr< MAC >
 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 >An object factory function
 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 >P1363 key derivation function
 CPanama< B >
 CPanama< LittleEndian >
 CPK
 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
 CPOLICY
 CPOLICY_INTERFACE
 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< V >Template class member 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_BlockCipher >
 CSEAL_Gamma
 CSecBlock< T, A >Secure memory block with allocator and cleanup
 CSecBlock< byte >
 CSecBlock< byte, AllocatorWithCleanup< byte > >
 CSecBlock< byte, AllocatorWithCleanup< byte, false > >
 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 > >
 CSecBlock< T, FixedSizeAllocatorWithCleanup< T, S, AllocatorWithCleanup< T > > >
 CSecBlock< T, FixedSizeAllocatorWithCleanup< T, S, NullAllocator< T >, true > >
 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, false > >
 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< SIGTRAP, false >
 CSignatureStandardBase class for public key signature standard classes
 CRSASS< STANDARD, H >::Signer
 CRSASS< STANDARD, H >::Signer
 CRSASS< STANDARD, H >::Signer
 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
 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
 CT
 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
 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, INT_MAX >
 CVariableKeyLength< 16, 1, 128 >
 CVariableKeyLength< 16, 1, 256 >
 CVariableKeyLength< 16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16 >
 CVariableKeyLength< 16, 16, 32 >
 CVariableKeyLength< 16, 16, 32, 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, 0, 32, 1, SimpleKeyingInterface::NOT_RESYNCHRONIZABLE >
 CVariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
 CVariableKeyLength< 32, 32, 64 >
 CVariableKeyLength< 64, 0, 64, 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
 CRSASS< STANDARD, H >::Verifier
 CRSASS< STANDARD, H >::Verifier
 CRSASS< STANDARD, H >::Verifier
 CWaitableInterface for objects that can be waited on
 CWAKE_Base
 CWindowSlider