Inheritance diagram for ElGamal::DecryptorImpl:
Definition at line 116 of file elgamal.h.
Public Types | |
typedef SchemeOptions | SchemeOptions |
typedef SchemeOptions::PrivateKey::Element | Element |
typedef Integer | Element |
typedef SchemeOptions::PrivateKey | KeyClass |
Public Member Functions | |
void | CopyKeyInto (SchemeOptions::PublicKey &key) const |
void | CopyKeyInto (SchemeOptions::PrivateKey &key) const |
unsigned int | FixedMaxPlaintextLength () const |
return maximum plaintext length given the fixed ciphertext length, if one exists, otherwise return 0 | |
unsigned int | FixedCiphertextLength () const |
return fixed ciphertext length, if one exists, otherwise return 0 | |
const DL_GroupParameters_GFP & | GetGroupParameters () const |
DecodingResult | FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *cipherText, byte *plainText) const |
DecodingResult | FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *ciphertext, byte *plaintext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
decrypt a fixed size ciphertext | |
PrivateKey & | AccessPrivateKey () |
PublicKey & | AccessPublicKey () |
const SchemeOptions::PrivateKey & | GetKey () const |
SchemeOptions::PrivateKey & | AccessKey () |
std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
DecodingResult | Decrypt (RandomNumberGenerator &rng, const byte *ciphertext, unsigned int ciphertextLength, byte *plaintext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
decrypt a byte string, and return the length of plaintext | |
unsigned int | MaxPlaintextLength (unsigned int ciphertextLength) const |
maximum length of plaintext for a given ciphertext length | |
unsigned int | CiphertextLength (unsigned int 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 bool | ParameterSupported (const char *name) const |
virtual bool | ParameterSupported (const char *name) const |
virtual BufferedTransformation * | CreateDecryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULL, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
create a new decryption 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 const PrivateKey & | GetPrivateKey () 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 | |
void | Derive (const DL_GroupParameters< Integer > &groupParams, byte *derivedKey, unsigned int derivedLength, const Integer &agreedElement, const Integer &ephemeralPublicKey, const NameValuePairs &derivationParams) const |
unsigned int | GetSymmetricKeyLength (unsigned int plainTextLength) const |
unsigned int | GetSymmetricCiphertextLength (unsigned int plainTextLength) const |
unsigned int | GetMaxSymmetricPlaintextLength (unsigned int cipherTextLength) const |
void | SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plainText, unsigned int plainTextLength, byte *cipherText, const NameValuePairs ¶meters) const |
DecodingResult | SymmetricDecrypt (const byte *key, const byte *cipherText, unsigned int cipherTextLength, byte *plainText, const NameValuePairs ¶meters) const |
Element | AgreeWithEphemeralPrivateKey (const DL_GroupParameters< Element > ¶ms, const DL_FixedBasePrecomputation< Element > &publicPrecomputation, const Integer &privateExponent) const |
Element | AgreeWithStaticPrivateKey (const DL_GroupParameters< Element > ¶ms, const Element &publicElement, bool validateOtherPublicKey, const Integer &privateExponent) const |
Static Public Member Functions | |
static std::string | StaticAlgorithmName () |
static const char * | StaticAlgorithmName () |
Protected Types | |
typedef DL_PrivateKey< Integer > | KeyInterface |
Protected Member Functions | |
const DL_KeyAgreementAlgorithm< Integer > & | GetKeyAgreementAlgorithm () const |
const DL_KeyDerivationAlgorithm< Integer > & | GetKeyDerivationAlgorithm () const |
const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const |
DL_DecryptorBase< Integer >::KeyInterface & | AccessKeyInterface () |
const DL_DecryptorBase< Integer >::KeyInterface & | GetKeyInterface () const |
HashIdentifier | GetHashIdentifier () const |
unsigned int | GetDigestSize () const |
const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const |
DL_GroupParameters< Element > & | AccessAbstractGroupParameters () |
|
Reimplemented from PK_CryptoSystem. |
|
decrypt a byte string, and return the length of plaintext
Implements PK_Decryptor. Definition at line 1188 of file pubkey.h. References DL_KeyAgreementAlgorithm< T >::AgreeWithStaticPrivateKey(), DL_GroupParameters< T >::DecodeElement(), DL_KeyDerivationAlgorithm< T >::Derive(), DL_PrivateKeyImpl< GP >::GetAbstractGroupParameters(), DL_GroupParameters< T >::GetEncodedElementSize(), DL_SymmetricEncryptionAlgorithm::GetMaxSymmetricPlaintextLength(), DL_PrivateKey< T >::GetPrivateExponent(), DL_SymmetricEncryptionAlgorithm::GetSymmetricKeyLength(), and DL_SymmetricEncryptionAlgorithm::SymmetricDecrypt(). |
|
Implements PK_CryptoSystem. |
|
Implements PK_CryptoSystem. |
|
Implements PK_CryptoSystem. |
|
create a new decryption filter
Definition at line 610 of file cryptlib.cpp. |