Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Member Functions | List of all members
DL_SignatureSchemeBase< INTFACE, KEY_INTFACE > Class Template Referenceabstract

Discrete Log (DL) signature scheme base implementation. More...

#include <pubkey.h>

Inheritance diagram for DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >:
[legend]
Collaboration diagram for DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >:
[legend]

Public Member Functions

virtual ~DL_SignatureSchemeBase ()
 
size_t SignatureLength () const
 Provides the signature length. More...
 
size_t MaxRecoverableLength () const
 Provides the maximum recoverable length. More...
 
size_t MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const
 Provides the maximum recoverable length. More...
 
bool IsProbabilistic () const
 Determines if the scheme is probabilistic. More...
 
bool AllowNonrecoverablePart () const
 Determines if the scheme has non-recoverable part. More...
 
bool RecoverablePartFirst () const
 Determines if the scheme allows recoverable part first. More...
 

Protected Member Functions

size_t MessageRepresentativeLength () const
 
size_t MessageRepresentativeBitLength () const
 
virtual bool IsDeterministic () const
 
virtual const DL_ElgamalLikeSignatureAlgorithm< typename KEY_INTFACE::Element > & GetSignatureAlgorithm () const =0
 
virtual const PK_SignatureMessageEncodingMethodGetMessageEncodingInterface () const =0
 
virtual HashIdentifier GetHashIdentifier () const =0
 
virtual size_t GetDigestSize () const =0
 
- Protected Member Functions inherited from DL_Base< KEY_INTFACE >
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< KEY_INTFACE >
typedef KEY_INTFACE KeyInterface
 
typedef KEY_INTFACE::Element Element
 

Detailed Description

template<class INTFACE, class KEY_INTFACE>
class DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >

Discrete Log (DL) signature scheme base implementation.

Template Parameters
INTFACEPK_Signer or PK_Verifier derived class
DL_Basekey base used in the scheme

DL_SignatureSchemeBase provides common functions for signers and verifiers. DL_Base<DL_PrivateKey> is used for signers, and DL_Base<DL_PublicKey> is used for verifiers.

Definition at line 1353 of file pubkey.h.

Constructor & Destructor Documentation

template<class INTFACE, class KEY_INTFACE>
virtual DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::~DL_SignatureSchemeBase ( )
inlinevirtual

Definition at line 1356 of file pubkey.h.

Member Function Documentation

template<class INTFACE, class KEY_INTFACE>
bool DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::AllowNonrecoverablePart ( ) const
inline

Determines if the scheme has non-recoverable part.

Returns
true if the message encoding has a non-recoverable part, false otherwise.

Definition at line 1386 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
virtual size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::GetDigestSize ( ) const
protectedpure virtual
template<class INTFACE, class KEY_INTFACE>
virtual HashIdentifier DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::GetHashIdentifier ( ) const
protectedpure virtual
template<class INTFACE, class KEY_INTFACE>
virtual const PK_SignatureMessageEncodingMethod& DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::GetMessageEncodingInterface ( ) const
protectedpure virtual
template<class INTFACE, class KEY_INTFACE>
virtual const DL_ElgamalLikeSignatureAlgorithm<typename KEY_INTFACE::Element>& DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::GetSignatureAlgorithm ( ) const
protectedpure virtual
template<class INTFACE, class KEY_INTFACE>
virtual bool DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::IsDeterministic ( ) const
inlineprotectedvirtual

Definition at line 1399 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
bool DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::IsProbabilistic ( ) const
inline

Determines if the scheme is probabilistic.

Returns
true if the scheme is probabilistic, false otherwise

Definition at line 1381 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::MaxRecoverableLength ( ) const
inline

Provides the maximum recoverable length.

Returns
maximum recoverable length, in bytes

Definition at line 1369 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::MaxRecoverableLengthFromSignatureLength ( size_t  signatureLength) const
inline

Provides the maximum recoverable length.

Parameters
signatureLengththe size fo the signature
Returns
maximum recoverable length based on signature length, in bytes

this function is not implemented and always returns 0.

Definition at line 1376 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::MessageRepresentativeBitLength ( ) const
inlineprotected

Definition at line 1396 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::MessageRepresentativeLength ( ) const
inlineprotected

Definition at line 1395 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
bool DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::RecoverablePartFirst ( ) const
inline

Determines if the scheme allows recoverable part first.

Returns
true if the message encoding allows the recoverable part, false otherwise.

Definition at line 1391 of file pubkey.h.

template<class INTFACE, class KEY_INTFACE>
size_t DL_SignatureSchemeBase< INTFACE, KEY_INTFACE >::SignatureLength ( ) const
inline

Provides the signature length.

Returns
signature length, in bytes

SignatureLength returns the size required for r+s.

Definition at line 1361 of file pubkey.h.


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