Crypto++
5.6.3
Free C++ class library of cryptographic schemes
|
Abstract base classes that provide a uniform interface to this library. More...
Go to the source code of this file.
Classes | |
struct | EnumToType< ENUM_TYPE, VALUE > |
Converts a typename to an enumerated value. More... | |
class | Exception |
Base class for all exceptions thrown by Crypto++. More... | |
class | InvalidArgument |
An invalid argument was detected. More... | |
class | InvalidDataFormat |
Input data was received that did not conform to expected format. More... | |
class | InvalidCiphertext |
A decryption filter encountered invalid ciphertext. More... | |
class | NotImplemented |
A method was called which was not implemented. More... | |
class | CannotFlush |
Flush(true) was called but it can't completely flush its buffers. More... | |
class | OS_Error |
The operating system reported an error. More... | |
class | DecodingResult |
Returns a decoding results. More... | |
class | NameValuePairs |
Interface for retrieving values given their names. More... | |
class | NameValuePairs::ValueTypeMismatch |
Thrown when an unexpected type is encountered. More... | |
class | Clonable |
Interface for cloning objects. More... | |
class | Algorithm |
Interface for all crypto algorithms. More... | |
class | SimpleKeyingInterface |
Interface for algorithms that take byte strings as keys. More... | |
class | BlockTransformation |
Interface for the data processing part of block ciphers. More... | |
class | StreamTransformation |
Interface for the data processing portion of stream ciphers. More... | |
class | HashTransformation |
Interface for hash functions and data processing part of MACs. More... | |
class | BlockCipher |
Interface for one direction (encryption or decryption) of a block cipher. More... | |
class | SymmetricCipher |
Interface for one direction (encryption or decryption) of a stream cipher or cipher mode. More... | |
class | MessageAuthenticationCode |
Interface for message authentication codes. More... | |
class | AuthenticatedSymmetricCipher |
Interface for one direction (encryption or decryption) of a stream cipher or block cipher mode with authentication. More... | |
class | AuthenticatedSymmetricCipher::BadState |
this indicates that a member function was called in the wrong state, for example trying to encrypt a message before having set the key or IV More... | |
class | RandomNumberGenerator |
Interface for random number generators. More... | |
class | Waitable |
Interface for objects that can be waited on. More... | |
class | BufferedTransformation |
Interface for buffered transformations. More... | |
struct | BufferedTransformation::BlockingInputOnly |
thrown by objects that have not implemented nonblocking input processing More... | |
struct | BufferedTransformation::NoChannelSupport |
Exception thrown when a filter does not support named channels. More... | |
struct | BufferedTransformation::InvalidChannelName |
Exception thrown when a filter does not recognize a named channel. More... | |
class | CryptoMaterial |
Interface for crypto material, such as public and private keys, and crypto parameters. More... | |
class | CryptoMaterial::InvalidMaterial |
exception thrown when invalid crypto material is detected More... | |
class | GeneratableCryptoMaterial |
Interface for generatable crypto material, such as private keys and crypto parameters. More... | |
class | PublicKey |
Interface for public keys. More... | |
class | PrivateKey |
Interface for private keys. More... | |
class | CryptoParameters |
Interface for crypto prameters. More... | |
class | AsymmetricAlgorithm |
Interface for asymmetric algorithms. More... | |
class | PublicKeyAlgorithm |
Interface for asymmetric algorithms using public keys. More... | |
class | PrivateKeyAlgorithm |
Interface for asymmetric algorithms using private keys. More... | |
class | KeyAgreementAlgorithm |
Interface for key agreement algorithms. More... | |
class | PK_CryptoSystem |
Interface for public-key encryptors and decryptors. More... | |
class | PK_Encryptor |
Interface for public-key encryptors. More... | |
class | PK_Encryptor::InvalidPlaintextLength |
Exception thrown when trying to encrypt plaintext of invalid length. More... | |
class | PK_Decryptor |
Interface for public-key decryptors. More... | |
class | PK_SignatureScheme |
Interface for public-key signers and verifiers. More... | |
class | PK_SignatureScheme::InvalidKeyLength |
invalid key exception, may be thrown by any function in this class if the private or public key has a length that can't be used More... | |
class | PK_SignatureScheme::KeyTooShort |
key too short exception, may be thrown by any function in this class if the private or public key is too short to sign or verify anything More... | |
class | PK_MessageAccumulator |
Interface for accumulating messages to be signed or verified. More... | |
class | PK_Signer |
Interface for public-key signers. More... | |
class | PK_Verifier |
Interface for public-key signature verifiers. More... | |
class | SimpleKeyAgreementDomain |
Interface for domains of simple key agreement protocols. More... | |
class | AuthenticatedKeyAgreementDomain |
Interface for domains of authenticated key agreement protocols. More... | |
class | BERDecodeErr |
Exception thrown when an ASN1 BER decoing error is encountered. More... | |
class | ASN1Object |
Interface for encoding and decoding ASN1 objects. More... | |
Namespaces | |
Name | |
Namespace containing value name definitions. | |
Weak | |
Namespace containing weak and wounded algorithms. | |
Typedefs | |
typedef EnumToType< ByteOrder, LITTLE_ENDIAN_ORDER > | LittleEndian |
typedef EnumToType< ByteOrder, BIG_ENDIAN_ORDER > | BigEndian |
typedef HashTransformation | HashFunction |
Enumerations | |
enum | CipherDir { ENCRYPTION, DECRYPTION } |
Specifies a direction for a cipher to operate. | |
enum | ByteOrder { LITTLE_ENDIAN_ORDER = 0, BIG_ENDIAN_ORDER = 1 } |
Provides the byte ordering. | |
Functions | |
RandomNumberGenerator & | NullRNG () |
Random Number Generator that does not produce random numbers. More... | |
BufferedTransformation & | TheBitBucket () |
An input discarding BufferedTransformation. More... | |
Variables | |
const unsigned long | INFINITE_TIME = ULONG_MAX |
Represents infinite time. | |
const NameValuePairs & | g_nullNameValuePairs |
An empty set of name-value pairs. | |
const std::string | DEFAULT_CHANNEL |
Default channel for BufferedTransformation. More... | |
const std::string | AAD_CHANNEL |
Channel for additional authenticated data. More... | |
Abstract base classes that provide a uniform interface to this library.
Definition in file cryptlib.h.
RandomNumberGenerator& NullRNG | ( | ) |
Random Number Generator that does not produce random numbers.
NullRNG() returns a reference that can be passed to functions that require a RandomNumberGenerator but don't actually use it. The NullRNG() throws NotImplemented when a generation function is called.
Definition at line 405 of file cryptlib.cpp.
Referenced by DL_VerifierBase< SCHEME_OPTIONS::Element >::RecoverAndRestart(), CryptoMaterial::SavePrecomputation(), RandomNumberGenerator::Shuffle(), and DL_VerifierBase< SCHEME_OPTIONS::Element >::VerifyAndRestart().
BufferedTransformation& TheBitBucket | ( | ) |
An input discarding BufferedTransformation.
Definition at line 82 of file cryptlib.cpp.
Referenced by DEREncodeBitString(), BufferedTransformation::Detach(), RandomNumberGenerator::DiscardBytes(), BufferedTransformation::MaxRetrievable(), BufferedTransformation::NumberOfMessages(), BufferedTransformation::Skip(), and BufferedTransformation::SkipMessages().
const std::string DEFAULT_CHANNEL |
Default channel for BufferedTransformation.
DEFAULT_CHANNEL is equal to an empty string
Definition at line 41 of file cryptlib.cpp.
Referenced by ByteQueue::AnyRetrievable(), MessageQueue::AnyRetrievable(), Filter::Attachable(), SourceTemplate< StringStore >::IsolatedInitialize(), ByteQueue::Walker::MaxRetrievable(), RandomNumberStore::MaxRetrievable(), NullStore::MaxRetrievable(), MessageQueue::NumberOfMessages(), Store::NumberOfMessages(), ArrayXorSink::Put2(), and BufferedTransformation::TransferMessagesTo().
const std::string AAD_CHANNEL |
Channel for additional authenticated data.
AAD_CHANNEL is equal to "AAD"
Definition at line 63 of file cryptlib.cpp.
Referenced by AuthenticatedEncryptionFilter::ChannelCreatePutSpace(), AuthenticatedDecryptionFilter::ChannelCreatePutSpace(), AuthenticatedEncryptionFilter::ChannelPut2(), AuthenticatedDecryptionFilter::ChannelPut2(), and TestDataNameValuePairs::GetVoidValue().