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

PK_Encryptor Class Reference

#include <cryptlib.h>

Inheritance diagram for PK_Encryptor:

PK_CryptoSystem PublicKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable PK_FixedLengthEncryptor TF_CryptoSystemBase< PK_FixedLengthEncryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > > TF_EncryptorBase List of all members.

Detailed Description

interface for public-key encryptors

Definition at line 1102 of file cryptlib.h.

Public Member Functions

virtual void Encrypt (RandomNumberGenerator &rng, const byte *plainText, unsigned int plainTextLength, byte *cipherText) const =0
 encrypt a byte string

virtual BufferedTransformation * CreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL) const
 create a new encryption 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 PublicKey & AccessPublicKey ()=0
virtual const PublicKey & GetPublicKey () 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 void PK_Encryptor::Encrypt (  RandomNumberGenerator &  rng,
const byte *  plainText,
unsigned int  plainTextLength,
byte *  cipherText
)  const [pure virtual]
 

encrypt a byte string

Precondition:
CipherTextLength(plainTextLength) != 0 (i.e., plainText isn't too long)

size of cipherText == CipherTextLength(plainTextLength)

Implemented in TF_EncryptorBase.

BufferedTransformation * PK_Encryptor::CreateEncryptionFilter (  RandomNumberGenerator &  rng,
BufferedTransformation *  attachment = NULL
)  const [virtual]
 

create a new encryption filter

Note:
caller is responsible for deleting the returned pointer

Definition at line 505 of file cryptlib.cpp.

References CreateEncryptionFilter().

Referenced by CreateEncryptionFilter().

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 Fri Aug 13 09:56:59 2004 for Crypto++ by doxygen 1.3.7