Crypto++ 8.9
Free C++ class library of cryptographic schemes
Public Member Functions | Static Public Member Functions | List of all members
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
TFieldElement type or class
HHashTransformation 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 ( )
inlinevirtual

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 ( )
inlinestatic

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
inlinevirtual

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
inlinevirtual

Generate k.

Parameters
xprivate key
qsubgroup generator
eencoded message

Implements DeterministicSignatureAlgorithm.

Definition at line 359 of file gfpcrypt.h.


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