DL_Algorithm_GDSA_ISO15946< T > Class Template Reference

German Digital Signature Algorithm. More...

`#include <gfpcrypt.h>`

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.
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.
virtual bool | IsDeterministic () const
| Signature scheme flag.

## 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

  T | FieldElement 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.

## Constructor & Destructor Documentation

## ~DL_Algorithm_GDSA_ISO15946()

template<class T >

virtual DL_Algorithm_GDSA_ISO15946< T >::~DL_Algorithm_GDSA_ISO15946 | ( |  | ) |

inline virtual

Definition at line 510 of file gfpcrypt.h.

## Member Function Documentation

## StaticAlgorithmName()

template<class T >

static const char * DL_Algorithm_GDSA_ISO15946< T >::StaticAlgorithmName | ( |  | ) |

inline static

Definition at line 508 of file gfpcrypt.h.

## 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

inline virtual

Sign a message using a private key.

Parameters

  params | GroupParameters
  privateKey | private key
  k | signing exponent
  e | encoded message
  r | r part of signature
  s | s 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

inline virtual

Verify a message using a public key.

Parameters

  params | GroupParameters
  publicKey | public key
  e | encoded message
  r | r part of signature
  s | s 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:

- gfpcrypt.h