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

TF_EncryptorImpl< SCHEME_OPTIONS > Class Template Reference

#include <pubkey.h>

Inheritance diagram for TF_EncryptorImpl< SCHEME_OPTIONS >:

TF_PublicObjectImpl< TF_EncryptorBase, SCHEME_OPTIONS > TF_ObjectImpl< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > PublicKeyCopier< SCHEME_OPTIONS > TF_ObjectImplBase< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_EncryptorBase TF_CryptoSystemBase< PK_FixedLengthEncryptor, TF_Base< RandomizedTrapdoorFunction > > PK_FixedLengthEncryptor TF_Base< RandomizedTrapdoorFunction > PK_Encryptor PK_FixedLengthCryptoSystem PK_CryptoSystem PublicKeyAlgorithm PK_CryptoSystem AsymmetricAlgorithm Algorithm Clonable List of all members.

Detailed Description

template<class SCHEME_OPTIONS>
class TF_EncryptorImpl< SCHEME_OPTIONS >

Definition at line 342 of file pubkey.h.

Public Types

typedef SCHEME_OPTIONS SchemeOptions
typedef SCHEME_OPTIONS::PublicKey KeyClass

Public Member Functions

void CopyKeyInto (typename SCHEME_OPTIONS::PublicKey &key) const
const SCHEME_OPTIONS::PublicKey & GetKey () const
SCHEME_OPTIONS::PublicKey & AccessKey ()
PublicKeyAccessPublicKey ()
const PublicKeyGetPublicKey () const
PrivateKeyAccessPrivateKey ()
const PrivateKeyGetPrivateKey () const
const KeyClass & GetTrapdoorFunction () const
std::string AlgorithmName () const
void Encrypt (RandomNumberGenerator &rng, const byte *plainText, unsigned int plainTextLength, byte *cipherText) const
 encrypt a byte string

unsigned int FixedMaxPlaintextLength () const
unsigned int FixedCiphertextLength () const
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

unsigned int MaxPlaintextLength (unsigned int cipherTextLength) const
 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

unsigned int CiphertextLength (unsigned int plainTextLength) const
 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

void BERDecode (BufferedTransformation &bt)
 for backwards compatibility, calls AccessMaterial().Load(bt)

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

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


Protected Types

typedef RandomizedTrapdoorFunction TrapdoorFunctionInterface

Protected Member Functions

const PK_PaddingAlgorithmGetPaddingAlgorithm () const
const TrapdoorFunctionBoundsGetTrapdoorFunctionBounds () const
const TF_EncryptorBase::TrapdoorFunctionInterface & GetTrapdoorFunctionInterface () const
unsigned int PaddedBlockBitLength () const
unsigned int PaddedBlockByteLength () const


Member Function Documentation

void TF_EncryptorBase::Encrypt RandomNumberGenerator rng,
const byte *  plainText,
unsigned int  plainTextLength,
byte *  cipherText
const [virtual, inherited]
 

encrypt a byte string

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

size of cipherText == CipherTextLength(plainTextLength)

Implements PK_Encryptor.

Definition at line 51 of file pubkey.cpp.

References Algorithm::AlgorithmName(), Integer::Encode(), and SecBlock< byte >::size().

BufferedTransformation * PK_Encryptor::CreateEncryptionFilter RandomNumberGenerator rng,
BufferedTransformation attachment = NULL
const [virtual, inherited]
 

create a new encryption filter

Note:
caller is responsible for deleting the returned pointer

Definition at line 508 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.

unsigned int PK_FixedLengthCryptoSystem::MaxPlaintextLength unsigned int  cipherTextLength  )  const [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).

Implements PK_CryptoSystem.

Definition at line 595 of file cryptlib.cpp.

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.

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

calculate length of ciphertext given length of plaintext

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

Implements PK_CryptoSystem.

Definition at line 603 of file cryptlib.cpp.


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