- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# TF_EncryptorBase Class Reference

`#include <pubkey.h>`

Inheritance diagram for TF_EncryptorBase:

List of all members.

## Detailed Description

_

Definition at line 173 of file pubkey.h.

## Public Member Functions
void | Encrypt (RandomNumberGenerator &rng, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs &parameters=g_nullNameValuePairs) const
| encrypt a byte string
bool | ParameterSupported (const char *name) const
| this object supports the use of the parameter with the given name
size_t | FixedMaxPlaintextLength () const
| return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0
size_t | FixedCiphertextLength () const
| return fixed ciphertext length, if one exists, otherwise return 0
size_t | MaxPlaintextLength (size_t ciphertextLength) const
| maximum length of plaintext for a given ciphertext length
size_t | CiphertextLength (size_t plaintextLength) const
| calculate length of ciphertext given length of plaintext
virtual BufferedTransformation * | CreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs &parameters=g_nullNameValuePairs) const
| create a new encryption filter
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 PublicKey & | AccessPublicKey ()=0
virtual const PublicKey & | GetPublicKey () 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 RandomizedTrapdoorFunction | TrapdoorFunctionInterface
typedef PK_EncryptionMessageEncodingMethod | MessageEncodingInterface
## Protected Member Functions
size_t | PaddedBlockByteLength () const
size_t | PaddedBlockBitLength () const
virtual const TrapdoorFunctionBounds & | GetTrapdoorFunctionBounds () const=0
virtual const TrapdoorFunctionInterface & | GetTrapdoorFunctionInterface () const=0
virtual const MessageEncodingInterface & | GetMessageEncodingInterface () const=0

## Member Function Documentation

void TF_EncryptorBase::Encrypt | ( | RandomNumberGenerator & | rng,
|  | const byte * | plaintext,
|  | size_t | plaintextLength,
|  | byte * | ciphertext,
|  | const NameValuePairs & | parameters = `g_nullNameValuePairs` |
| ) |  |  | const`[virtual]`

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 145 of file pubkey.cpp.

References Algorithm::AlgorithmName(), RandomizedTrapdoorFunction::ApplyRandomizedFunction(), Integer::Encode(), TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::FixedCiphertextLength(), TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::FixedMaxPlaintextLength(), PK_EncryptionMessageEncodingMethod::Pad(), TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::PaddedBlockBitLength(), TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::PaddedBlockByteLength(), and SecBlock< T, A >::size().

bool TF_CryptoSystemBase< PK_Encryptor , TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::ParameterSupported | ( | const char * | name | ) | const`[inline, virtual, inherited]`

Implements PK_CryptoSystem.

Definition at line 156 of file pubkey.h.

size_t TF_CryptoSystemBase< PK_Encryptor , TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >::FixedCiphertextLength | ( |  | ) | const`[inline, virtual, inherited]`

Implements PK_FixedLengthCryptoSystemImpl< PK_Encryptor >.

Definition at line 158 of file pubkey.h.

Referenced by Encrypt().

size_t PK_FixedLengthCryptoSystemImpl< PK_Encryptor >::MaxPlaintextLength | ( | size_t | ciphertextLength | ) | const`[inline, virtual, inherited]`

Implements PK_CryptoSystem.

Definition at line 142 of file pubkey.h.

size_t PK_FixedLengthCryptoSystemImpl< PK_Encryptor >::CiphertextLength | ( | size_t | plaintextLength | ) | const`[inline, virtual, inherited]`

Implements PK_CryptoSystem.

Definition at line 144 of file pubkey.h.

BufferedTransformation * PK_Encryptor::CreateEncryptionFilter | ( | RandomNumberGenerator & | rng,
|  | BufferedTransformation * | attachment = `NULL`,
|  | const NameValuePairs & | parameters = `g_nullNameValuePairs` |
| ) |  |  | const`[virtual, inherited]`

create a new encryption filter

Note:
  The caller is responsible for deleting the returned pointer.

  Encoding parameters should be passed in the "EP" channel.

Definition at line 564 of file cryptlib.cpp.

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

- pubkey.h
- pubkey.cpp