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 BufferedTransformation * CreateDecryptionFilter (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

CryptoMaterial & AccessMaterial ()
 returns a reference to the crypto material used by this object

const CryptoMaterial & GetMaterial () const
 returns a const reference to the crypto material used by this object

virtual PrivateKey & AccessPrivateKey ()=0
virtual const PrivateKey & GetPrivateKey () 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 Clonable * Clone () 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