DL_Algorithm_DSA_RFC6979< T, H > Class Template Reference

DSA signature algorithm based on RFC 6979. More...

`#include <gfpcrypt.h>`

Inheritance diagram for DL_Algorithm_DSA_RFC6979< T, H >:

## Public Member Functions

bool | IsProbabilistic () const
bool | IsDeterministic () const
| Signature scheme flag.
Integer | GenerateRandom (const Integer &x, const Integer &q, const Integer &e) const
| Generate k.
Public Member Functions inherited from DL_Algorithm_GDSA< T >
void | Sign (const DL_GroupParameters< T > &params, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const
| Sign a message using a private key.
bool | Verify (const DL_GroupParameters< T > &params, const DL_PublicKey< T > &publicKey, const Integer &e, const Integer &r, const Integer &s) const
| Verify a message using a public key.
Public Member Functions inherited from DL_ElgamalLikeSignatureAlgorithm< T >
virtual Integer | RecoverPresignature (const DL_GroupParameters< T > &params, const DL_PublicKey< T > &publicKey, const Integer &r, const Integer &s) const
| Recover a Presignature.
virtual size_t | RLen (const DL_GroupParameters< T > &params) const
| Retrieve R length.
virtual size_t | SLen (const DL_GroupParameters< T > &params) const
| Retrieve S length.

## Static Public Member Functions

static const char * | StaticAlgorithmName ()
Static Public Member Functions inherited from DL_Algorithm_GDSA< T >
static const char * | StaticAlgorithmName ()

## Detailed Description

template<class T, class H>
class DL_Algorithm_DSA_RFC6979< T, H >

DSA signature algorithm based on RFC 6979.

Template Parameters

  T | FieldElement type or class
  H | HashTransformation derived class

FieldElement `T` can be Integer, ECP or EC2N.

See also
  RFC 6979, Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)

Since
  Crypto++ 6.0

Definition at line 346 of file gfpcrypt.h.

## Constructor & Destructor Documentation

## ~DL_Algorithm_DSA_RFC6979()

template<class T , class H >

virtual DL_Algorithm_DSA_RFC6979< T, H >::~DL_Algorithm_DSA_RFC6979 | ( |  | ) |

inline virtual

Definition at line 351 of file gfpcrypt.h.

## Member Function Documentation

## StaticAlgorithmName()

template<class T , class H >

static const char * DL_Algorithm_DSA_RFC6979< T, H >::StaticAlgorithmName | ( |  | ) |

inline static

Definition at line 349 of file gfpcrypt.h.

## IsProbabilistic()

template<class T , class H >

bool DL_Algorithm_DSA_RFC6979< T, H >::IsProbabilistic | ( |  | ) | const

inline

Definition at line 353 of file gfpcrypt.h.

## IsDeterministic()

template<class T , class H >

bool DL_Algorithm_DSA_RFC6979< T, H >::IsDeterministic | ( |  | ) | const

inline virtual

Signature scheme flag.

Returns
  true if the signature scheme is deterministic, false otherwise

IsDeterministic() is provided for DL signers. It is used by RFC 6979 signature schemes.

Reimplemented from DL_ElgamalLikeSignatureAlgorithm< T >.

Definition at line 355 of file gfpcrypt.h.

## GenerateRandom()

template<class T , class H >

Integer DL_Algorithm_DSA_RFC6979< T, H >::GenerateRandom | ( | const Integer & | x,
|  | const Integer & | q,
|  | const Integer & | e
| ) |  | const

inline virtual

Generate k.

Parameters

  x | private key
  q | subgroup generator
  e | encoded message

Implements DeterministicSignatureAlgorithm.

Definition at line 359 of file gfpcrypt.h.

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

- gfpcrypt.h