Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Member Functions | List of all members
DL_SignerBase< T > Class Template Reference

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

#include <pubkey.h>

Inheritance diagram for DL_SignerBase< T >:
[legend]
Collaboration diagram for DL_SignerBase< T >:
[legend]

Public Member Functions

virtual ~DL_SignerBase ()
 
void RawSign (const Integer &k, const Integer &e, Integer &r, Integer &s) const
 Testing interface. More...
 
void InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const
 Input a recoverable message to an accumulator. More...
 
size_t SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart) const
 Sign and restart messageAccumulator. More...
 
- Public Member Functions inherited from DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > >
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...
 
- Public Member Functions inherited from PK_Signer
virtual ~PK_Signer ()
 
virtual PK_MessageAccumulatorNewSignatureAccumulator (RandomNumberGenerator &rng) const =0
 Create a new HashTransformation to accumulate the message to be signed. More...
 
virtual size_t Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const
 Sign and delete the messageAccumulator. More...
 
virtual size_t SignMessage (RandomNumberGenerator &rng, const byte *message, size_t messageLen, byte *signature) const
 Sign a message. More...
 
virtual size_t SignMessageWithRecovery (RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, byte *signature) const
 Sign a recoverable message. More...
 
- Public Member Functions inherited from PK_SignatureScheme
virtual ~PK_SignatureScheme ()
 
virtual size_t MaxSignatureLength (size_t recoverablePartLength=0) const
 Provides the maximum signature length produced given the length of the recoverable message part. More...
 
virtual bool SignatureUpfront () const
 Determines whether the signature must be input before the message. More...
 
- Public Member Functions inherited from PrivateKeyAlgorithm
virtual ~PrivateKeyAlgorithm ()
 
CryptoMaterialAccessMaterial ()
 Retrieves a reference to a Private Key. More...
 
const CryptoMaterialGetMaterial () const
 Retrieves a reference to a Private Key. More...
 
virtual PrivateKeyAccessPrivateKey ()=0
 Retrieves a reference to a Private Key. More...
 
virtual const PrivateKeyGetPrivateKey () const
 Retrieves a reference to a Private Key. More...
 
- Public Member Functions inherited from AsymmetricAlgorithm
virtual ~AsymmetricAlgorithm ()
 
void BERDecode (BufferedTransformation &bt)
 Loads this object from a BufferedTransformation. More...
 
void DEREncode (BufferedTransformation &bt) const
 Saves this object to a BufferedTransformation. More...
 
- Public Member Functions inherited from Algorithm
virtual ~Algorithm ()
 
 Algorithm (bool checkSelfTestStatus=true)
 Interface for all crypto algorithms. More...
 
virtual std::string AlgorithmName () const
 Provides the name of this algorithm. More...
 
- Public Member Functions inherited from Clonable
virtual ~Clonable ()
 
virtual ClonableClone () const
 Copies this object. More...
 

Protected Member Functions

void RestartMessageAccumulator (RandomNumberGenerator &rng, PK_MessageAccumulatorBase &ma) const
 
- Protected Member Functions inherited from DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > >
size_t MessageRepresentativeLength () const
 
size_t MessageRepresentativeBitLength () const
 
virtual bool IsDeterministic () const
 
virtual const DL_ElgamalLikeSignatureAlgorithm< typename DL_PrivateKey< T >::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< DL_PrivateKey< T > >
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< DL_PrivateKey< T > >
typedef DL_PrivateKey< TKeyInterface
 
typedef DL_PrivateKey< T >::Element Element
 

Detailed Description

template<class T>
class DL_SignerBase< T >

Discrete Log (DL) signature scheme signer base implementation.

Template Parameters
T

Definition at line 1410 of file pubkey.h.

Constructor & Destructor Documentation

template<class T>
virtual DL_SignerBase< T >::~DL_SignerBase ( )
inlinevirtual

Definition at line 1413 of file pubkey.h.

Member Function Documentation

template<class T>
void DL_SignerBase< T >::InputRecoverableMessage ( PK_MessageAccumulator messageAccumulator,
const byte recoverableMessage,
size_t  recoverableMessageLength 
) const
inlinevirtual

Input a recoverable message to an accumulator.

Parameters
messageAccumulatora reference to a PK_MessageAccumulator
recoverableMessagea pointer to the recoverable message part to be signed
recoverableMessageLengththe size of the recoverable message part

Implements PK_Signer.

Definition at line 1430 of file pubkey.h.

template<class T>
void DL_SignerBase< T >::RawSign ( const Integer k,
const Integer e,
Integer r,
Integer s 
) const
inline

Testing interface.

Parameters
kInteger
eInteger
rInteger
sInteger

Definition at line 1420 of file pubkey.h.

template<class T>
void DL_SignerBase< T >::RestartMessageAccumulator ( RandomNumberGenerator rng,
PK_MessageAccumulatorBase ma 
) const
inlineprotected

Definition at line 1500 of file pubkey.h.

template<class T>
size_t DL_SignerBase< T >::SignAndRestart ( RandomNumberGenerator rng,
PK_MessageAccumulator messageAccumulator,
byte signature,
bool  restart 
) const
inlinevirtual

Sign and restart messageAccumulator.

Parameters
rnga RandomNumberGenerator derived class
messageAccumulatora pointer to a PK_MessageAccumulator derived class
signaturea block of bytes for the signature
restartflag indicating whether the messageAccumulator should be restarted
Returns
actual signature length
Precondition
COUNTOF(signature) == MaxSignatureLength()

Implements PK_Signer.

Definition at line 1440 of file pubkey.h.


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