Inheritance diagram for ElGamal::EncryptorImpl:

Definition at line 109 of file elgamal.h.
Public Types | |
| typedef SchemeOptions | SchemeOptions |
| typedef SchemeOptions::PublicKey::Element | Element |
| typedef Integer | Element |
| typedef SchemeOptions::PublicKey | KeyClass |
Public Member Functions | |
| void | CopyKeyInto (SchemeOptions::PublicKey &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 |
| PrivateKey & | AccessPrivateKey () |
| PublicKey & | AccessPublicKey () |
| const SchemeOptions::PublicKey & | GetKey () const |
| SchemeOptions::PublicKey & | AccessKey () |
| std::string | AlgorithmName () const |
| returns name of this algorithm, not universally implemented yet | |
| void | Encrypt (RandomNumberGenerator &rng, const byte *plaintext, unsigned int plaintextLength, byte *ciphertext, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
| encrypt a byte string | |
| 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 * | 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 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 | |
| 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_PublicKey< Integer > | KeyInterface |
Protected Member Functions | |
|
const DL_KeyAgreementAlgorithm< Integer > & | GetKeyAgreementAlgorithm () const |
|
const DL_KeyDerivationAlgorithm< Integer > & | GetKeyDerivationAlgorithm () const |
| const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const |
|
DL_EncryptorBase< Integer >::KeyInterface & | AccessKeyInterface () |
|
const DL_EncryptorBase< 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. |
|
||||||||||||||||||||||||
|
encrypt a byte string
Implements PK_Encryptor. Definition at line 1224 of file pubkey.h. References DL_KeyAgreementAlgorithm< T >::AgreeWithEphemeralPrivateKey(), DL_KeyDerivationAlgorithm< T >::Derive(), DL_GroupParameters< T >::EncodeElement(), DL_GroupParameters< T >::ExponentiateBase(), DL_Base< KI >::GetAbstractGroupParameters(), DL_GroupParameters< T >::GetEncodedElementSize(), DL_GroupParameters< T >::GetMaxExponent(), DL_PublicKey< T >::GetPublicPrecomputation(), DL_SymmetricEncryptionAlgorithm::GetSymmetricKeyLength(), Integer::One(), and DL_SymmetricEncryptionAlgorithm::SymmetricEncrypt(). |
|
|
Implements PK_CryptoSystem. |
|
|
Implements PK_CryptoSystem. |
|
|
Implements PK_CryptoSystem. |
|
||||||||||||||||
|
create a new encryption filter
Definition at line 564 of file cryptlib.cpp. |
1.4.6