#include <pubkey.h>
Inheritance diagram for TF_EncryptorBase:
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 ¶meters=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 ¶meters=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 |
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
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] |
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] |
size_t PK_FixedLengthCryptoSystemImpl< PK_Encryptor >::CiphertextLength | ( | size_t | plaintextLength | ) | const [inline, virtual, inherited] |
BufferedTransformation * PK_Encryptor::CreateEncryptionFilter | ( | RandomNumberGenerator & | rng, | |
BufferedTransformation * | attachment = NULL , |
|||
const NameValuePairs & | parameters = g_nullNameValuePairs | |||
) | const [virtual, inherited] |
create a new encryption filter
Encoding parameters should be passed in the "EP" channel.
Definition at line 570 of file cryptlib.cpp.