|
Security Scol plugin
|
Discrete Log (DL) encryptor base implementation. More...
#include <pubkey.h>
Public Types | |
| typedef T | Element |
Public Types inherited from DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > > | |
| typedef DL_Base< DL_PublicKey< T > >::Element | Element |
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. | |
Public Member Functions inherited from DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > > | |
| size_t | MaxPlaintextLength (size_t ciphertextLength) const |
| size_t | CiphertextLength (size_t plaintextLength) const |
| bool | ParameterSupported (const char *name) const |
Public Member Functions inherited from PK_Encryptor | |
| virtual BufferedTransformation * | CreateEncryptionFilter (RandomNumberGenerator &rng, BufferedTransformation *attachment=NULLPTR, const NameValuePairs ¶meters=g_nullNameValuePairs) const |
| Create a new encryption filter. | |
Public Member Functions inherited from PK_CryptoSystem | |
| virtual size_t | FixedCiphertextLength () const |
| Provides the fixed ciphertext length, if one exists. | |
| virtual size_t | FixedMaxPlaintextLength () const |
| Provides the maximum plaintext length given a fixed ciphertext length. | |
Public Member Functions inherited from PublicKeyAlgorithm | |
| CryptoMaterial & | AccessMaterial () |
| Retrieves a reference to a Public Key. | |
| const CryptoMaterial & | GetMaterial () const |
| Retrieves a reference to a Public Key. | |
| virtual PublicKey & | AccessPublicKey ()=0 |
| Retrieves a reference to a Public Key. | |
| virtual const PublicKey & | GetPublicKey () const |
| Retrieves a reference to a Public Key. | |
Public Member Functions inherited from Algorithm | |
| Algorithm (bool checkSelfTestStatus=true) | |
| Interface for all crypto algorithms. | |
| virtual std::string | AlgorithmName () const |
| Provides the name of this algorithm. | |
| virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. | |
Public Member Functions inherited from Clonable | |
| virtual Clonable * | Clone () const |
| Copies this object. | |
Additional Inherited Members | |
Protected Types inherited from DL_Base< KI > | |
| typedef KI | KeyInterface |
| typedef KI::Element | Element |
Protected Member Functions inherited from DL_CryptoSystemBase< PK_Encryptor, DL_PublicKey< T > > | |
| virtual const DL_KeyAgreementAlgorithm< Element > & | GetKeyAgreementAlgorithm () const=0 |
| virtual const DL_KeyDerivationAlgorithm< Element > & | GetKeyDerivationAlgorithm () const=0 |
| virtual const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const=0 |
Protected Member Functions inherited from DL_Base< KI > | |
| const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const |
| DL_GroupParameters< Element > & | AccessAbstractGroupParameters () |
| virtual KeyInterface & | AccessKeyInterface ()=0 |
| virtual const KeyInterface & | GetKeyInterface () const =0 |
Discrete Log (DL) encryptor base implementation.
| T | Field element type or class |
| typedef T DL_EncryptorBase< T >::Element |
|
inlinevirtual |
|
inlinevirtual |
Encrypt a byte string.
| rng | a RandomNumberGenerator derived class |
| plaintext | the plaintext byte buffer |
| plaintextLength | the size of the plaintext byte buffer |
| ciphertext | a byte buffer to hold the encrypted string |
| parameters | a set of NameValuePairs to initialize this object |
CiphertextLength(plaintextLength) != 0 ensures the plaintext isn't too large COUNTOF(ciphertext) == CiphertextLength(plaintextLength) ensures the output byte buffer is large enough. Implements PK_Encryptor.