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_Base< KI >::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. |
1.4.6