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

PK_Decryptor Class Reference

#include <cryptlib.h>

Inheritance diagram for PK_Decryptor:

PK_CryptoSystem PrivateKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable DL_CryptoSystemBase< PK_Decryptor, DL_PrivateKey< SCHEME_OPTIONS::Element > > PK_FixedLengthDecryptor DL_DecryptorBase< SCHEME_OPTIONS::Element > DL_CryptoSystemBase< PK_FixedLengthDecryptor, DL_PrivateKey< Integer > > TF_CryptoSystemBase< PK_FixedLengthDecryptor, TF_Base< TrapdoorFunctionInverse > > DL_DecryptorBase< Integer, PK_FixedLengthDecryptor > TF_DecryptorBase DL_ObjectImplBase< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_ObjectImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_ObjectImplBase< DL_DecryptorBase< Integer, PK_FixedLengthDecryptor >, SchemeOptions, SchemeOptions::PrivateKey > TF_ObjectImplBase< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_PrivateObjectImpl< DL_DecryptorBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS > TF_ObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_DecryptorImpl< SCHEME_OPTIONS > TF_PrivateObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS > TF_DecryptorImpl< SCHEME_OPTIONS > List of all members.

Detailed Description

interface for public-key decryptors

Definition at line 1146 of file cryptlib.h.

Public Member Functions

virtual DecodingResult Decrypt (const byte *cipherText, unsigned int cipherTextLength, byte *plainText) const=0
 decrypt a byte string, and return the length of plaintext

virtual BufferedTransformationCreateDecryptionFilter (BufferedTransformation *attachment=NULL) const
 create a new decryption filter

virtual unsigned int MaxPlaintextLength (unsigned int cipherTextLength) const=0
 maximum length of plaintext for a given ciphertext length

virtual unsigned int CiphertextLength (unsigned int plainTextLength) const=0
 calculate length of ciphertext given length of plaintext

CryptoMaterialAccessMaterial ()
 returns a reference to the crypto material used by this object

const CryptoMaterialGetMaterial () const
 returns a const reference to the crypto material used by this object

virtual PrivateKeyAccessPrivateKey ()=0
virtual const PrivateKeyGetPrivateKey () const
void BERDecode (BufferedTransformation &bt)
 for backwards compatibility, calls AccessMaterial().Load(bt)

void DEREncode (BufferedTransformation &bt) const
 for backwards compatibility, calls GetMaterial().Save(bt)

virtual std::string AlgorithmName () const
 returns name of this algorithm, not universally implemented yet

virtual ClonableClone () const
 this is not implemented by most classes yet


Member Function Documentation

virtual DecodingResult PK_Decryptor::Decrypt const byte *  cipherText,
unsigned int  cipherTextLength,
byte *  plainText
const [pure virtual]
 

decrypt a byte string, and return the length of plaintext

Precondition:
size of plainText == MaxPlainTextLength(cipherTextLength) bytes.
Returns:
the actual length of the plaintext, or 0 if decryption fails.

Implemented in PK_FixedLengthDecryptor.

BufferedTransformation * PK_Decryptor::CreateDecryptionFilter BufferedTransformation attachment = NULL  )  const [virtual]
 

create a new decryption filter

Note:
caller is responsible for deleting the returned pointer

Definition at line 551 of file cryptlib.cpp.

virtual unsigned int PK_CryptoSystem::MaxPlaintextLength unsigned int  cipherTextLength  )  const [pure virtual, inherited]
 

maximum length of plaintext for a given ciphertext length

Note:
This function returns 0 if cipherTextLength is not valid (too long or too short).

Implemented in PK_FixedLengthCryptoSystem.

virtual unsigned int PK_CryptoSystem::CiphertextLength unsigned int  plainTextLength  )  const [pure virtual, inherited]
 

calculate length of ciphertext given length of plaintext

Note:
This function returns 0 if plainTextLength is not valid (too long).

Implemented in PK_FixedLengthCryptoSystem.


The documentation for this class was generated from the following files:
Generated on Tue Jul 8 23:35:18 2003 for Crypto++ by doxygen 1.3.2