Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions

TF_DecryptorImpl< SCHEME_OPTIONS > Class Template Reference

_ More...

#include <pubkey.h>

Inheritance diagram for TF_DecryptorImpl< SCHEME_OPTIONS >:
TF_ObjectImpl< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > TF_ObjectImplBase< TF_DecryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > AlgorithmImpl< TF_DecryptorBase, SCHEME_OPTIONS::AlgorithmInfo > TF_DecryptorBase TF_CryptoSystemBase< PK_Decryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > > PK_FixedLengthCryptoSystemImpl< PK_Decryptor > TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > PK_Decryptor PK_CryptoSystem PrivateKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable

List of all members.

Public Types

typedef SCHEME_OPTIONS::PrivateKey KeyClass
typedef SCHEME_OPTIONS SchemeOptions

Public Member Functions

const KeyClass & GetKey () const
KeyClass & AccessKey ()
PublicKeyAccessPublicKey ()
const PublicKeyGetPublicKey () const
PrivateKeyAccessPrivateKey ()
virtual PrivateKeyAccessPrivateKey ()=0
const PrivateKeyGetPrivateKey () const
virtual const PrivateKeyGetPrivateKey () const
const KeyClass & GetTrapdoorFunction () const
PK_MessageAccumulatorNewSignatureAccumulator (RandomNumberGenerator &rng) const
PK_MessageAccumulatorNewVerificationAccumulator () const
std::string AlgorithmName () const
virtual std::string AlgorithmName () const
 returns name of this algorithm, not universally implemented yet
DecodingResult Decrypt (RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs &parameters=g_nullNameValuePairs) const
virtual DecodingResult Decrypt (RandomNumberGenerator &rng, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs &parameters=g_nullNameValuePairs) const =0
 decrypt a byte string, and return the length of plaintext
bool ParameterSupported (const char *name) const
virtual bool ParameterSupported (const char *name) const =0
 this object supports the use of the parameter with the given name
size_t FixedMaxPlaintextLength () const
virtual size_t FixedMaxPlaintextLength () const =0
virtual size_t FixedMaxPlaintextLength () const
 return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0
size_t FixedCiphertextLength () const
virtual size_t FixedCiphertextLength () const =0
virtual size_t FixedCiphertextLength () const
 return fixed ciphertext length, if one exists, otherwise return 0
size_t MaxPlaintextLength (size_t ciphertextLength) const
virtual size_t MaxPlaintextLength (size_t ciphertextLength) const =0
 maximum length of plaintext for a given ciphertext length
size_t CiphertextLength (size_t plaintextLength) const
virtual size_t CiphertextLength (size_t plaintextLength) const =0
 calculate length of ciphertext given length of plaintext
virtual BufferedTransformationCreateDecryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs &parameters=g_nullNameValuePairs) const
 create a new decryption filter
DecodingResult FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *ciphertext, byte *plaintext, const NameValuePairs &parameters=g_nullNameValuePairs) const
 decrypt a fixed size ciphertext
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

Static Public Member Functions

static std::string StaticAlgorithmName ()

Protected Types

typedef TrapdoorFunctionInverse TrapdoorFunctionInterface
typedef
PK_EncryptionMessageEncodingMethod 
MessageEncodingInterface

Protected Member Functions

const
TF_DecryptorBase::MessageEncodingInterface
GetMessageEncodingInterface () const
const TrapdoorFunctionBoundsGetTrapdoorFunctionBounds () const
const
TF_DecryptorBase::TrapdoorFunctionInterface
GetTrapdoorFunctionInterface () const
HashIdentifier GetHashIdentifier () const
size_t GetDigestSize () const
size_t PaddedBlockByteLength () const
size_t PaddedBlockBitLength () const

Detailed Description

template<class SCHEME_OPTIONS>
class TF_DecryptorImpl< SCHEME_OPTIONS >

_

Definition at line 451 of file pubkey.h.


Member Function Documentation

virtual DecodingResult PK_Decryptor::Decrypt ( RandomNumberGenerator rng,
const byte *  ciphertext,
size_t  ciphertextLength,
byte *  plaintext,
const NameValuePairs parameters = g_nullNameValuePairs 
) const [pure 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, indication that decryption failed.
virtual bool PK_CryptoSystem::ParameterSupported ( const char *  name  )  const [pure virtual, inherited]

this object supports the use of the parameter with the given name

some possible parameter names: EncodingParameters, KeyDerivationParameters

virtual size_t PK_CryptoSystem::FixedCiphertextLength (  )  const [inline, virtual, inherited]

return fixed ciphertext length, if one exists, otherwise return 0

Note:
"Fixed" here means length of ciphertext does not depend on length of plaintext. It usually does depend on the key length.

Definition at line 1212 of file cryptlib.h.

Referenced by PK_Decryptor::FixedLengthDecrypt().

virtual size_t PK_CryptoSystem::MaxPlaintextLength ( size_t  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).
virtual size_t PK_CryptoSystem::CiphertextLength ( size_t  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).
BufferedTransformation * PK_Decryptor::CreateDecryptionFilter ( RandomNumberGenerator rng,
BufferedTransformation attachment = NULL,
const NameValuePairs parameters = g_nullNameValuePairs 
) const [virtual, inherited]

create a new decryption filter

Note:
caller is responsible for deleting the returned pointer

Definition at line 751 of file cryptlib.cpp.


The documentation for this class was generated from the following file: