Crypto++  8.8
Free C++ class library of cryptographic schemes
Public Member Functions | Static Public Member Functions | List of all members
DL_Algorithm_GDSA_ISO15946< T > Class Template Reference

German Digital Signature Algorithm. More...

+ Inheritance diagram for DL_Algorithm_GDSA_ISO15946< T >:

Public Member Functions

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. More...
 
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. More...
 
- 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. More...
 
virtual size_t RLen (const DL_GroupParameters< T > &params) const
 Retrieve R length. More...
 
virtual size_t SLen (const DL_GroupParameters< T > &params) const
 Retrieve S length. More...
 
virtual bool IsDeterministic () const
 Signature scheme flag. More...
 

Static Public Member Functions

static const char * StaticAlgorithmName ()
 

Detailed Description

template<class T>
class DL_Algorithm_GDSA_ISO15946< T >

German Digital Signature Algorithm.

Template Parameters
TFieldElement type or class

FieldElement T can be Integer, ECP or EC2N.

The Digital Signature Scheme ECGDSA does not define the algorithm over integers. Rather, the signature algorithm is only defined over elliptic curves. However, the library design is such that the generic algorithm reside in gfpcrypt.h.

See also
Erwin Hess, Marcus Schafheutle, and Pascale Serf The Digital Signature Scheme ECGDSA (October 24, 2006)

Definition at line 505 of file gfpcrypt.h.

Member Function Documentation

◆ Sign()

template<class T >
void DL_Algorithm_GDSA_ISO15946< T >::Sign ( const DL_GroupParameters< T > &  params,
const Integer privateKey,
const Integer k,
const Integer e,
Integer r,
Integer s 
) const
inlinevirtual

Sign a message using a private key.

Parameters
paramsGroupParameters
privateKeyprivate key
ksigning exponent
eencoded message
rr part of signature
ss part of signature

Implements DL_ElgamalLikeSignatureAlgorithm< T >.

Definition at line 512 of file gfpcrypt.h.

◆ Verify()

template<class T >
bool DL_Algorithm_GDSA_ISO15946< T >::Verify ( const DL_GroupParameters< T > &  params,
const DL_PublicKey< T > &  publicKey,
const Integer e,
const Integer r,
const Integer s 
) const
inlinevirtual

Verify a message using a public key.

Parameters
paramsGroupParameters
publicKeypublic key
eencoded message
rr part of signature
ss part of signature

Implements DL_ElgamalLikeSignatureAlgorithm< T >.

Definition at line 522 of file gfpcrypt.h.


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