DL_SignerBase< T > Class Template Reference

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

Inheritance diagram for DL_SignerBase< T >:

## Public Member Functions

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 > >
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_MessageAccumulator * | NewSignatureAccumulator (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 size_t | SignatureLength () const =0
| Provides the signature length if it only depends on the key. More...
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 size_t | MaxRecoverableLength () const =0
| Provides the length of longest message that can be recovered. More...
virtual bool | IsProbabilistic () const =0
| Determines whether a signature scheme requires a random number generator. More...
virtual bool | AllowNonrecoverablePart () const =0
| Determines whether the non-recoverable message part can be signed. More...
virtual bool | SignatureUpfront () const
| Determines whether the signature must be input before the message. More...
virtual bool | RecoverablePartFirst () const =0
| Determines whether the recoverable part must be input before the non-recoverable part. More...
Public Member Functions inherited from PrivateKeyAlgorithm
CryptoMaterial & | AccessMaterial ()
| Retrieves a reference to a Private Key. More...
const CryptoMaterial & | GetMaterial () const
| Retrieves a reference to a Private Key. More...
virtual PrivateKey & | AccessPrivateKey ()=0
| Retrieves a reference to a Private Key. More...
virtual const PrivateKey & | GetPrivateKey () const
| Retrieves a reference to a Private Key. More...
Public Member Functions inherited from 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
| 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 * | Clone () const
| Copies this object. More...

## Detailed Description

### template<class T>
class DL_SignerBase< T >

Discrete Log (DL) signature scheme signer base implementation.

Template Parameters

  T |

Definition at line 1446 of file pubkey.h.

## Member Function Documentation

## RawSign()

template<class T >

void DL_SignerBase< T >::RawSign | ( | const Integer & | k,
|  | const Integer & | e,
|  | Integer & | r,
|  | Integer & | s
| ) |  | const

inline

Testing interface.

Parameters

  k | Integer
  e | Integer
  r | Integer
  s | Integer

Definition at line 1458 of file pubkey.h.

## InputRecoverableMessage()

template<class T >

void DL_SignerBase< T >::InputRecoverableMessage | ( | PK_MessageAccumulator & | messageAccumulator,
|  | const byte * | recoverableMessage,
|  | size_t | recoverableMessageLength
| ) |  | const

inline virtual

Input a recoverable message to an accumulator.

Parameters

  messageAccumulator | a reference to a PK_MessageAccumulator
  recoverableMessage | a pointer to the recoverable message part to be signed
  recoverableMessageLength | the size of the recoverable message part

Implements PK_Signer.

Definition at line 1468 of file pubkey.h.

## SignAndRestart()

template<class T >

size_t DL_SignerBase< T >::SignAndRestart | ( | RandomNumberGenerator & | rng,
|  | PK_MessageAccumulator & | messageAccumulator,
|  | byte * | signature,
|  | bool | restart
| ) |  | const

inline virtual

Sign and restart messageAccumulator.

Parameters

  rng | a RandomNumberGenerator derived class
  messageAccumulator | a pointer to a PK_MessageAccumulator derived class
  signature | a block of bytes for the signature
  restart | flag indicating whether the messageAccumulator should be restarted

Returns
  actual signature length

Precondition
  `COUNTOF(signature) == MaxSignatureLength()`

Implements PK_Signer.

Definition at line 1478 of file pubkey.h.

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

- pubkey.h