Crypto++
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | List of all members
TF_EncryptorImpl< SCHEME_OPTIONS > Class Template Reference

_ More...

#include <pubkey.h>

Inheritance diagram for TF_EncryptorImpl< SCHEME_OPTIONS >:
TF_ObjectImpl< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_ObjectImplBase< TF_EncryptorBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > AlgorithmImpl< TF_EncryptorBase, SCHEME_OPTIONS::AlgorithmInfo > TF_EncryptorBase TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > > PK_FixedLengthCryptoSystemImpl< PK_Encryptor > TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > PK_Encryptor PK_CryptoSystem PublicKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable

Public Types

typedef SCHEME_OPTIONS::PublicKey KeyClass
 
typedef SCHEME_OPTIONS SchemeOptions
 

Public Member Functions

const KeyClass & GetKey () const
 
KeyClass & AccessKey ()
 
PublicKeyAccessPublicKey ()
 
const PublicKeyGetPublicKey () const
 
PrivateKeyAccessPrivateKey ()
 
const PrivateKeyGetPrivateKey () const
 
const KeyClass & GetTrapdoorFunction () const
 
PK_MessageAccumulatorNewSignatureAccumulator (RandomNumberGenerator &rng) const
 
PK_MessageAccumulatorNewVerificationAccumulator () const
 
std::string AlgorithmName () const
 
void Encrypt (RandomNumberGenerator &rng, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs &parameters=g_nullNameValuePairs) const
 encrypt a byte string More...
 
bool ParameterSupported (const char *name) const
 
size_t FixedMaxPlaintextLength () const
 
size_t FixedCiphertextLength () const
 
size_t MaxPlaintextLength (size_t ciphertextLength) const
 
size_t CiphertextLength (size_t plaintextLength) const
 
virtual BufferedTransformationCreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs &parameters=g_nullNameValuePairs) const
 create a new encryption filter More...
 
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 RandomizedTrapdoorFunction TrapdoorFunctionInterface
 
typedef
PK_EncryptionMessageEncodingMethod 
MessageEncodingInterface
 

Protected Member Functions

const
TF_EncryptorBase::MessageEncodingInterface
GetMessageEncodingInterface () const
 
const TrapdoorFunctionBoundsGetTrapdoorFunctionBounds () const
 
const
TF_EncryptorBase::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_EncryptorImpl< SCHEME_OPTIONS >

_

Definition at line 457 of file pubkey.h.

Member Function Documentation

void TF_EncryptorBase::Encrypt ( RandomNumberGenerator rng,
const byte *  plaintext,
size_t  plaintextLength,
byte *  ciphertext,
const NameValuePairs parameters = g_nullNameValuePairs 
) const
virtualinherited

encrypt a byte string

Precondition
CiphertextLength(plaintextLength) != 0 (i.e., plaintext isn't too long)
size of ciphertext == CiphertextLength(plaintextLength)

Implements PK_Encryptor.

virtual BufferedTransformation* PK_Encryptor::CreateEncryptionFilter ( RandomNumberGenerator rng,
BufferedTransformation attachment = NULL,
const NameValuePairs parameters = g_nullNameValuePairs 
) const
virtualinherited

create a new encryption filter

Note
The caller is responsible for deleting the returned pointer.
Encoding parameters should be passed in the "EP" channel.

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