Crypto++ 8.9
Free C++ class library of cryptographic schemes
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345678910111213]
 CHuffmanDecoder::LookupEntry::[union].__unnamed0__
 CHuffmanNode::[union].__unnamed0__
 CHuffmanDecoder::LookupEntry::[union].__unnamed1__
CAbstractGroup< T >Abstract group
CAbstractGroup< EC2NPoint >
CAbstractGroup< ECPPoint >
CAbstractGroup< EuclideanDomainOf< PolynomialMod2 >::Element >
CAbstractGroup< GFP2Element >
CAbstractGroup< Integer >
CAbstractGroup< PolynomialMod2 >
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< 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
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
CDataParametersInfo< DefaultBlockCipher::BLOCKSIZE, DefaultBlockCipher::DEFAULT_KEYLENGTH, DefaultHashModule::DIGESTSIZE, 8, 2500 >
CDataParametersInfo< LegacyBlockCipher::BLOCKSIZE, LegacyBlockCipher::DEFAULT_KEYLENGTH, LegacyHashModule::DIGESTSIZE, 8, 200 >
 CDecodingResultReturns a decoding results
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 EcPrecomputation< EC >::Element >
CDL_FixedBasePrecomputation< typename GROUP_PRECOMP::Element >
CDL_FixedBasePrecomputation< typename ModExpPrecomputation::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< 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< 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
 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
 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< 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< 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 >
CFixedKeyLength< H::BLOCKSIZE >
 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
CMaskGeneratingFunctionMask generation function interface
Cmember_ptr< T >Pointer that overloads operator ->
Cmember_ptr< BlockCipherFinal< ENCRYPTION, Base > >
Cmember_ptr< ECP >
Cmember_ptr< GF2NP >
Cmember_ptr< ModularArithmetic >
Cmember_ptr< MontgomeryRepresentation >
 CMicrosoftCryptoProviderWrapper for Microsoft crypto service provider
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 candidate 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, true > >
CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, T_Align16 > >
CSecBlock< byte, FixedSizeAllocatorWithCleanup< byte, S, NullAllocator< byte >, true > >
CSecBlock< T, FixedSizeAllocatorWithCleanup< T, S, NullAllocator< T >, true > >
CSecBlock< T_HashWordType, FixedSizeAllocatorWithCleanup< T_HashWordType, S, NullAllocator< T_HashWordType >, T_Align16 > >
CSecBlock< word >
CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, T_Align16 > >
CSecBlock< word32, FixedSizeAllocatorWithCleanup< word32, S, NullAllocator< word32 >, true > >
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
 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
CTF_CryptoSchemeOptions< ALG_INFO, KEYS, MessageEncodingMethod >
 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
CWaitableInterface for objects that can be waited on
CWAKE_Base
 CWindowSlider