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 BufferedTransformationCreateEncryptionFilter (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

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 PublicKeyAccessPublicKey ()=0
virtual const PublicKeyGetPublicKey () 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 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 Wed Jul 28 08:07:15 2004 for Crypto++ by doxygen 1.3.7