Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

cryptlib.h File Reference


Detailed Description

This file contains the declarations for the abstract base classes that provide a uniform interface to this library.

Definition in file cryptlib.h.#include "config.h"
#include "stdcpp.h"

Go to the source code of this file.

Namespaces

namespace  Name

Classes

struct  EnumToType< ENUM_TYPE, VALUE >
class  Exception
 base class for all exceptions thrown by Crypto++ More...
class  InvalidArgument
 exception thrown when an invalid argument is detected More...
class  InvalidDataFormat
 exception thrown by decryption filters when trying to decrypt an invalid ciphertext More...
class  InvalidCiphertext
 exception thrown by decryption filters when trying to decrypt an invalid ciphertext More...
class  NotImplemented
 exception thrown by a class if a non-implemented method is called More...
class  CannotFlush
 exception thrown by a class when Flush(true) is called but it can't completely flush its buffers More...
class  OS_Error
 error reported by the operating system More...
struct  DecodingResult
 used to return decoding results More...
class  NameValuePairs
 interface for retrieving values given their names More...
class  NameValuePairs::ValueTypeMismatch
 exception thrown when trying to retrieve a value using a different type than expected More...
class  NullNameValuePairs
 empty set of name-value pairs More...
class  Clonable
 interface for cloning objects, this is not implemented by most classes yet More...
class  Algorithm
 interface for all crypto algorithms More...
class  SimpleKeyingInterface
 keying interface for crypto 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 part of stream ciphers More...
class  HashTransformation
 interface for hash functions and data processing part of MACs More...
class  SimpleKeyedTransformation< T >
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  RandomNumberGenerator
 interface for random number generators More...
class  Waitable
 interface for objects that you can wait for 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
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
 BER Decode Exception Class, may be thrown during an ASN1 BER decode operation. More...
class  ASN1Object
 interface for encoding and decoding ASN1 objects More...

Typedefs

typedef EnumToType< ByteOrder,
LITTLE_ENDIAN_ORDER > 
LittleEndian
typedef EnumToType< ByteOrder,
BIG_ENDIAN_ORDER > 
BigEndian
typedef HashTransformation HashFunction

Enumerations

enum  CipherDir { ENCRYPTION, DECRYPTION }
 used to specify a direction for a cipher to operate in (encrypt or decrypt)
enum  ByteOrder { LITTLE_ENDIAN_ORDER = 0, BIG_ENDIAN_ORDER = 1 }

Functions

RandomNumberGeneratorNullRNG ()
 returns a reference that can be passed to functions that ask for a RNG but doesn't actually use it
BufferedTransformationTheBitBucket ()
 returns a reference to a BufferedTransformation object that discards all input

Variables

const unsigned long INFINITE_TIME = ULONG_MAX
 used to represent infinite time
const NullNameValuePairs g_nullNameValuePairs
 _


Generated on Wed Jul 21 19:15:36 2004 for Crypto++ by doxygen 1.3.7-20040704