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

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 PrivateKeyAccessPrivateKey ()=0
virtual const PrivateKeyGetPrivateKey () 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


Protected Types

typedef TrapdoorFunctionInverse TrapdoorFunctionInterface
typedef PK_EncryptionMessageEncodingMethod MessageEncodingInterface

Protected Member Functions

unsigned int PaddedBlockByteLength () const
unsigned int PaddedBlockBitLength () const
virtual const TrapdoorFunctionBoundsGetTrapdoorFunctionBounds () 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 Wed Jul 28 08:07:17 2004 for Crypto++ by doxygen 1.3.7