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

TF_DecryptorBase Class Reference

#include <pubkey.h>

Inheritance diagram for TF_DecryptorBase:

TF_CryptoSystemBase< PK_FixedLengthDecryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > > PK_FixedLengthDecryptor TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > PK_Decryptor PK_FixedLengthCryptoSystem PK_CryptoSystem PrivateKeyAlgorithm PK_CryptoSystem AsymmetricAlgorithm Algorithm Clonable List of all members.

Detailed Description

Definition at line 154 of file pubkey.h.

Public Member Functions

DecodingResult FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *cipherText, byte *plainText) const
 decrypt a byte string, and return the length of plaintext

unsigned int FixedMaxPlaintextLength () const
unsigned int FixedCiphertextLength () const
DecodingResult Decrypt (RandomNumberGenerator &rng, const byte *cipherText, unsigned int cipherTextLength, byte *plainText) const
 decrypt a byte string, and return the length of plaintext

virtual BufferedTransformation * CreateDecryptionFilter (RandomNumberGenerator &rng, 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

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

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


Protected Types

typedef TrapdoorFunctionInverse TrapdoorFunctionInterface
typedef PK_EncryptionMessageEncodingMethod MessageEncodingInterface

Protected Member Functions

unsigned int PaddedBlockByteLength () const
unsigned int PaddedBlockBitLength () const
virtual const TrapdoorFunctionBounds & GetTrapdoorFunctionBounds () const=0
virtual const TrapdoorFunctionInterface & GetTrapdoorFunctionInterface () const=0
virtual const MessageEncodingInterface & GetMessageEncodingInterface () const=0


Member Function Documentation

DecodingResult TF_DecryptorBase::FixedLengthDecrypt (  RandomNumberGenerator &  rng,
const byte *  cipherText,
byte *  plainText
)  const [virtual]
 

decrypt a byte string, and return the length of plaintext

Precondition:
length of cipherText == CipherTextLength()

size of plainText == MaxPlainTextLength()

Returns:
the actual length of the plaintext, or 0 if decryption fails.

Implements PK_FixedLengthDecryptor.

Definition at line 102 of file pubkey.cpp.

References FixedLengthDecrypt(), SecBlock< T, A >::size(), and Integer::Zero().

Referenced by FixedLengthDecrypt().

DecodingResult PK_FixedLengthDecryptor::Decrypt (  RandomNumberGenerator &  rng,
const byte *  cipherText,
unsigned int  cipherTextLength,
byte *  plainText
)  const [virtual, inherited]
 

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.

Implements PK_Decryptor.

Definition at line 609 of file cryptlib.cpp.

References PK_FixedLengthDecryptor::Decrypt(), and PK_FixedLengthDecryptor::FixedLengthDecrypt().

Referenced by PK_FixedLengthDecryptor::Decrypt().

BufferedTransformation * PK_Decryptor::CreateDecryptionFilter (  RandomNumberGenerator &  rng,
BufferedTransformation *  attachment = NULL
)  const [virtual, inherited]
 

create a new decryption filter

Note:
caller is responsible for deleting the returned pointer

Definition at line 548 of file cryptlib.cpp.

References PK_Decryptor::CreateDecryptionFilter().

Referenced by PK_Decryptor::CreateDecryptionFilter().

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 593 of file cryptlib.cpp.

References PK_FixedLengthCryptoSystem::MaxPlaintextLength().

Referenced by PK_FixedLengthCryptoSystem::MaxPlaintextLength().

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 601 of file cryptlib.cpp.

References PK_FixedLengthCryptoSystem::CiphertextLength().

Referenced by PK_FixedLengthCryptoSystem::CiphertextLength().


The documentation for this class was generated from the following files:
Generated on Fri Aug 13 09:57:00 2004 for Crypto++ by doxygen 1.3.7