Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Member Functions | Private Attributes | 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 >:
[legend]
Collaboration diagram for DL_Algorithm_DSA_RFC6979< T, H >:
[legend]

Public Member Functions

CRYPTOPP_STATIC_CONSTEXPR const char *CRYPTOPP_API StaticAlgorithmName ()
 
virtual ~DL_Algorithm_DSA_RFC6979 ()
 
bool IsProbabilistic () const
 
bool IsDeterministic () const
 
Integer GenerateRandom (const Integer &x, const Integer &q, const Integer &e) const
 
- Public Member Functions inherited from DL_Algorithm_GDSA< T >
CRYPTOPP_STATIC_CONSTEXPR const char *CRYPTOPP_API StaticAlgorithmName ()
 
virtual ~DL_Algorithm_GDSA ()
 
void Sign (const DL_GroupParameters< T > &params, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const
 
bool Verify (const DL_GroupParameters< T > &params, const DL_PublicKey< T > &publicKey, const Integer &e, const Integer &r, const Integer &s) const
 
- Public Member Functions inherited from DL_ElgamalLikeSignatureAlgorithm< T >
virtual ~DL_ElgamalLikeSignatureAlgorithm ()
 
virtual Integer RecoverPresignature (const DL_GroupParameters< T > &params, const DL_PublicKey< T > &publicKey, const Integer &r, const Integer &s) const
 
virtual size_t RLen (const DL_GroupParameters< T > &params) const
 
virtual size_t SLen (const DL_GroupParameters< T > &params) const
 
- Public Member Functions inherited from DeterministicSignatureAlgorithm
virtual ~DeterministicSignatureAlgorithm ()
 

Protected Member Functions

Integer bits2int (const SecByteBlock &bits, size_t qlen) const
 
SecByteBlock int2octets (const Integer &val, size_t rlen) const
 
SecByteBlock bits2octets (const SecByteBlock &in, const Integer &q) const
 

Private Attributes

H m_hash
 
HMAC< Hm_hmac
 

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
See also
RFC 6979, Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)
Since
Crypto++ 5.7

Definition at line 236 of file gfpcrypt.h.

Constructor & Destructor Documentation

template<class T, class H>
virtual DL_Algorithm_DSA_RFC6979< T, H >::~DL_Algorithm_DSA_RFC6979 ( )
inlinevirtual

Definition at line 241 of file gfpcrypt.h.

Member Function Documentation

template<class T, class H>
Integer DL_Algorithm_DSA_RFC6979< T, H >::bits2int ( const SecByteBlock bits,
size_t  qlen 
) const
inlineprotected

Definition at line 344 of file gfpcrypt.h.

template<class T, class H>
SecByteBlock DL_Algorithm_DSA_RFC6979< T, H >::bits2octets ( const SecByteBlock in,
const Integer q 
) const
inlineprotected

Definition at line 384 of file gfpcrypt.h.

template<class T, class H>
Integer DL_Algorithm_DSA_RFC6979< T, H >::GenerateRandom ( const Integer x,
const Integer q,
const Integer e 
) const
inlinevirtual

Implements DeterministicSignatureAlgorithm.

Definition at line 249 of file gfpcrypt.h.

template<class T, class H>
SecByteBlock DL_Algorithm_DSA_RFC6979< T, H >::int2octets ( const Integer val,
size_t  rlen 
) const
inlineprotected

Definition at line 357 of file gfpcrypt.h.

template<class T, class H>
bool DL_Algorithm_DSA_RFC6979< T, H >::IsDeterministic ( ) const
inlinevirtual

Reimplemented from DL_ElgamalLikeSignatureAlgorithm< T >.

Definition at line 245 of file gfpcrypt.h.

template<class T, class H>
bool DL_Algorithm_DSA_RFC6979< T, H >::IsProbabilistic ( ) const
inline

Definition at line 243 of file gfpcrypt.h.

template<class T, class H>
CRYPTOPP_STATIC_CONSTEXPR const char* CRYPTOPP_API DL_Algorithm_DSA_RFC6979< T, H >::StaticAlgorithmName ( )
inline

Definition at line 239 of file gfpcrypt.h.

Member Data Documentation

template<class T, class H>
H DL_Algorithm_DSA_RFC6979< T, H >::m_hash
mutableprivate

Definition at line 392 of file gfpcrypt.h.

template<class T, class H>
HMAC<H> DL_Algorithm_DSA_RFC6979< T, H >::m_hmac
mutableprivate

Definition at line 393 of file gfpcrypt.h.


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