Fabcoin Core  0.16.2
P2P Digital Currency
Public Types | Public Member Functions | Protected Member Functions | List of all members
DL_CryptoSystemBase< PK, KI > Class Template Referenceabstract

Discrete Log (DL) cryptosystem base implementation. More...

#include <pubkey.h>

Inheritance diagram for DL_CryptoSystemBase< PK, KI >:
[legend]
Collaboration diagram for DL_CryptoSystemBase< PK, KI >:
[legend]

Public Types

typedef DL_Base< KI >::Element Element
 

Public Member Functions

virtual ~DL_CryptoSystemBase ()
 
size_t MaxPlaintextLength (size_t ciphertextLength) const
 
size_t CiphertextLength (size_t plaintextLength) const
 
bool ParameterSupported (const char *name) const
 

Protected Member Functions

virtual const DL_KeyAgreementAlgorithm< Element > & GetKeyAgreementAlgorithm () const =0
 
virtual const DL_KeyDerivationAlgorithm< Element > & GetKeyDerivationAlgorithm () const =0
 
virtual const DL_SymmetricEncryptionAlgorithmGetSymmetricEncryptionAlgorithm () const =0
 
- Protected Member Functions inherited from DL_Base< KI >
virtual ~DL_Base ()
 
const DL_GroupParameters< Element > & GetAbstractGroupParameters () const
 
DL_GroupParameters< Element > & AccessAbstractGroupParameters ()
 
virtual KeyInterfaceAccessKeyInterface ()=0
 
virtual const KeyInterfaceGetKeyInterface () const =0
 

Additional Inherited Members

- Protected Types inherited from DL_Base< KI >
typedef KI KeyInterface
 
typedef KI::Element Element
 

Detailed Description

template<class PK, class KI>
class DL_CryptoSystemBase< PK, KI >

Discrete Log (DL) cryptosystem base implementation.

Template Parameters
PKfield element type
KIpublic or private key interface

Definition at line 1592 of file pubkey.h.

Member Typedef Documentation

template<class PK, class KI>
typedef DL_Base<KI>::Element DL_CryptoSystemBase< PK, KI >::Element

Definition at line 1595 of file pubkey.h.

Constructor & Destructor Documentation

template<class PK, class KI>
virtual DL_CryptoSystemBase< PK, KI >::~DL_CryptoSystemBase ( )
inlinevirtual

Definition at line 1597 of file pubkey.h.

Member Function Documentation

template<class PK, class KI>
size_t DL_CryptoSystemBase< PK, KI >::CiphertextLength ( size_t  plaintextLength) const
inline

Definition at line 1605 of file pubkey.h.

template<class PK, class KI>
virtual const DL_KeyAgreementAlgorithm<Element>& DL_CryptoSystemBase< PK, KI >::GetKeyAgreementAlgorithm ( ) const
protectedpure virtual
template<class PK, class KI>
virtual const DL_KeyDerivationAlgorithm<Element>& DL_CryptoSystemBase< PK, KI >::GetKeyDerivationAlgorithm ( ) const
protectedpure virtual
template<class PK, class KI>
virtual const DL_SymmetricEncryptionAlgorithm& DL_CryptoSystemBase< PK, KI >::GetSymmetricEncryptionAlgorithm ( ) const
protectedpure virtual
template<class PK, class KI>
size_t DL_CryptoSystemBase< PK, KI >::MaxPlaintextLength ( size_t  ciphertextLength) const
inline

Definition at line 1599 of file pubkey.h.

template<class PK, class KI>
bool DL_CryptoSystemBase< PK, KI >::ParameterSupported ( const char *  name) const
inline

Definition at line 1611 of file pubkey.h.


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