Security Scol plugin
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 >:
DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > > PK_Signer DL_Base< KI > PK_SignatureScheme PrivateKeyAlgorithm AsymmetricAlgorithm Algorithm Clonable

Public Member Functions

void RawSign (const Integer &k, const Integer &e, Integer &r, Integer &s) const
 Testing interface.
 
void InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const
 Input a recoverable message to an accumulator.
 
size_t SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart) const
 Sign and restart messageAccumulator.
 
- Public Member Functions inherited from DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > >
size_t SignatureLength () const
 Provides the signature length.
 
size_t MaxRecoverableLength () const
 Provides the maximum recoverable length.
 
size_t MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const
 Provides the maximum recoverable length.
 
bool IsProbabilistic () const
 Determines if the scheme is probabilistic.
 
bool AllowNonrecoverablePart () const
 Determines if the scheme has non-recoverable part.
 
bool RecoverablePartFirst () const
 Determines if the scheme allows recoverable part first.
 
- Public Member Functions inherited from PK_Signer
virtual PK_MessageAccumulatorNewSignatureAccumulator (RandomNumberGenerator &rng) const =0
 Create a new HashTransformation to accumulate the message to be signed.
 
virtual size_t Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const
 Sign and delete the messageAccumulator.
 
virtual size_t SignMessage (RandomNumberGenerator &rng, const byte *message, size_t messageLen, byte *signature) const
 Sign a message.
 
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.
 
- Public Member Functions inherited from 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.
 
virtual bool SignatureUpfront () const
 Determines whether the signature must be input before the message.
 
- Public Member Functions inherited from PrivateKeyAlgorithm
CryptoMaterialAccessMaterial ()
 Retrieves a reference to a Private Key.
 
const CryptoMaterialGetMaterial () const
 Retrieves a reference to a Private Key.
 
virtual PrivateKeyAccessPrivateKey ()=0
 Retrieves a reference to a Private Key.
 
virtual const PrivateKeyGetPrivateKey () const
 Retrieves a reference to a Private 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 ClonableClone () const
 Copies this object.
 

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 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< KI >
const DL_GroupParameters< Element > & GetAbstractGroupParameters () const
 
DL_GroupParameters< Element > & AccessAbstractGroupParameters ()
 
virtual KeyInterface & AccessKeyInterface ()=0
 
virtual const KeyInterface & GetKeyInterface () const =0
 

Additional Inherited Members

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

Detailed Description

template<class T>
class DL_SignerBase< T >

Discrete Log (DL) signature scheme signer base implementation.

Template Parameters
TField element type or class

Field element T can be Integer, ECP or EC2N.

Definition at line 1600 of file pubkey.h.

Constructor & Destructor Documentation

◆ ~DL_SignerBase()

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

Definition at line 1603 of file pubkey.h.

Member Function Documentation

◆ InputRecoverableMessage()

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 1620 of file pubkey.h.

◆ RawSign()

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 1610 of file pubkey.h.

◆ RestartMessageAccumulator()

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

Definition at line 1697 of file pubkey.h.

◆ SignAndRestart()

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 1630 of file pubkey.h.


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