Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | List of all members
DL_SymmetricEncryptionAlgorithm Class Referenceabstract

Interface for symmetric encryption algorithms used in DL cryptosystems. More...

#include <pubkey.h>

Inheritance diagram for DL_SymmetricEncryptionAlgorithm:
[legend]

Public Member Functions

virtual ~DL_SymmetricEncryptionAlgorithm ()
 
virtual bool ParameterSupported (const char *name) const
 
virtual size_t GetSymmetricKeyLength (size_t plaintextLength) const =0
 
virtual size_t GetSymmetricCiphertextLength (size_t plaintextLength) const =0
 
virtual size_t GetMaxSymmetricPlaintextLength (size_t ciphertextLength) const =0
 
virtual void SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plaintext, size_t plaintextLength, byte *ciphertext, const NameValuePairs &parameters) const =0
 
virtual DecodingResult SymmetricDecrypt (const byte *key, const byte *ciphertext, size_t ciphertextLength, byte *plaintext, const NameValuePairs &parameters) const =0
 

Detailed Description

Interface for symmetric encryption algorithms used in DL cryptosystems.

Definition at line 1315 of file pubkey.h.

Constructor & Destructor Documentation

virtual DL_SymmetricEncryptionAlgorithm::~DL_SymmetricEncryptionAlgorithm ( )
inlinevirtual

Definition at line 1318 of file pubkey.h.

Member Function Documentation

virtual size_t DL_SymmetricEncryptionAlgorithm::GetMaxSymmetricPlaintextLength ( size_t  ciphertextLength) const
pure virtual

Implemented in DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >, and ElGamalBase.

Here is the caller graph for this function:

virtual size_t DL_SymmetricEncryptionAlgorithm::GetSymmetricCiphertextLength ( size_t  plaintextLength) const
pure virtual
virtual size_t DL_SymmetricEncryptionAlgorithm::GetSymmetricKeyLength ( size_t  plaintextLength) const
pure virtual

Implemented in DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >, and ElGamalBase.

Here is the caller graph for this function:

virtual bool DL_SymmetricEncryptionAlgorithm::ParameterSupported ( const char *  name) const
inlinevirtual

Reimplemented in DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >.

Definition at line 1320 of file pubkey.h.

virtual DecodingResult DL_SymmetricEncryptionAlgorithm::SymmetricDecrypt ( const byte key,
const byte ciphertext,
size_t  ciphertextLength,
byte plaintext,
const NameValuePairs parameters 
) const
pure virtual

Implemented in DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >, and ElGamalBase.

Here is the caller graph for this function:

virtual void DL_SymmetricEncryptionAlgorithm::SymmetricEncrypt ( RandomNumberGenerator rng,
const byte key,
const byte plaintext,
size_t  plaintextLength,
byte ciphertext,
const NameValuePairs parameters 
) const
pure virtual

Implemented in DL_EncryptionAlgorithm_Xor< MAC, DHAES_MODE, LABEL_OCTETS >, and ElGamalBase.

Here is the caller graph for this function:


The documentation for this class was generated from the following file: