#include <pubkey.h>
Inheritance diagram for DL_EncryptorImpl< SCHEME_OPTIONS >:
Definition at line 1362 of file pubkey.h.
Public Types | |
typedef SCHEME_OPTIONS::PublicKey::Element | Element |
typedef SCHEME_OPTIONS | SchemeOptions |
Public Member Functions | |
PrivateKey & | AccessPrivateKey () |
PublicKey & | AccessPublicKey () |
const SCHEME_OPTIONS::PublicKey & | GetKey () const |
SCHEME_OPTIONS::PublicKey & | AccessKey () |
std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
void | Encrypt (RandomNumberGenerator &rng, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
encrypt a byte string | |
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 | |
bool | ParameterSupported (const char *name) const |
this object supports the use of the parameter with the given name | |
virtual BufferedTransformation * | CreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
create a new encryption filter | |
virtual size_t | FixedCiphertextLength () const |
return fixed ciphertext length, if one exists, otherwise return 0 | |
virtual size_t | FixedMaxPlaintextLength () const |
return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0 | |
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 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 Clonable * | Clone () const |
this is not implemented by most classes yet | |
Static Public Member Functions | |
static std::string __cdecl | StaticAlgorithmName () |
Protected Types | |
typedef DL_PublicKey< SCHEME_OPTIONS::Element > | KeyInterface |
Protected Member Functions | |
const DL_ElgamalLikeSignatureAlgorithm< Element > & | GetSignatureAlgorithm () const |
const DL_KeyAgreementAlgorithm< Element > & | GetKeyAgreementAlgorithm () const |
const DL_KeyDerivationAlgorithm< Element > & | GetKeyDerivationAlgorithm () const |
const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const |
HashIdentifier | GetHashIdentifier () const |
const PK_SignatureMessageEncodingMethod & | GetMessageEncodingInterface () const |
DL_EncryptorBase< SCHEME_OPTIONS::Element >::KeyInterface & | AccessKeyInterface () |
const DL_EncryptorBase< SCHEME_OPTIONS::Element >::KeyInterface & | GetKeyInterface () const |
size_t | GetDigestSize () const |
const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const |
DL_GroupParameters< Element > & | AccessAbstractGroupParameters () |
void DL_EncryptorBase< SCHEME_OPTIONS::Element >::Encrypt | ( | RandomNumberGenerator & | rng, | |
const byte * | plaintext, | |||
size_t | plaintextLength, | |||
byte * | ciphertext, | |||
const NameValuePairs & | parameters = g_nullNameValuePairs | |||
) | const [inline, virtual, inherited] |
encrypt a byte string
size of ciphertext == CiphertextLength(plaintextLength)
Implements PK_Encryptor.
Definition at line 1220 of file pubkey.h.
References DL_KeyAgreementAlgorithm< T >::AgreeWithEphemeralPrivateKey(), DL_KeyDerivationAlgorithm< T >::Derive(), DL_GroupParameters< T >::EncodeElement(), DL_GroupParameters< T >::ExponentiateBase(), DL_GroupParameters< T >::GetEncodedElementSize(), DL_GroupParameters< T >::GetMaxExponent(), DL_PublicKey< T >::GetPublicPrecomputation(), DL_SymmetricEncryptionAlgorithm::GetSymmetricKeyLength(), Integer::One(), and DL_SymmetricEncryptionAlgorithm::SymmetricEncrypt().
size_t DL_CryptoSystemBase< PK_Encryptor , DL_PublicKey< SCHEME_OPTIONS::Element > >::MaxPlaintextLength | ( | size_t | ciphertextLength | ) | const [inline, virtual, inherited] |
size_t DL_CryptoSystemBase< PK_Encryptor , DL_PublicKey< SCHEME_OPTIONS::Element > >::CiphertextLength | ( | size_t | plaintextLength | ) | const [inline, virtual, inherited] |
bool DL_CryptoSystemBase< PK_Encryptor , DL_PublicKey< SCHEME_OPTIONS::Element > >::ParameterSupported | ( | const char * | name | ) | 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 596 of file cryptlib.cpp.
virtual size_t PK_CryptoSystem::FixedCiphertextLength | ( | ) | const [inline, virtual, inherited] |
return fixed ciphertext length, if one exists, otherwise return 0
Reimplemented in TF_CryptoSystemBase< PK_Decryptor, TF_Base< TrapdoorFunctionInverse, PK_EncryptionMessageEncodingMethod > >, and TF_CryptoSystemBase< PK_Encryptor, TF_Base< RandomizedTrapdoorFunction, PK_EncryptionMessageEncodingMethod > >.
Definition at line 1165 of file cryptlib.h.
Referenced by PK_Decryptor::FixedLengthDecrypt().