Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
Interface for Elgamal-like signature algorithms. More...
#include <pubkey.h>
Public Member Functions | |
virtual void | Sign (const DL_GroupParameters< T > ¶ms, const Integer &privateKey, const Integer &k, const Integer &e, Integer &r, Integer &s) const =0 |
Sign a message using a private key. More... | |
virtual bool | Verify (const DL_GroupParameters< T > ¶ms, const DL_PublicKey< T > &publicKey, const Integer &e, const Integer &r, const Integer &s) const =0 |
Verify a message using a public key. More... | |
virtual Integer | RecoverPresignature (const DL_GroupParameters< T > ¶ms, const DL_PublicKey< T > &publicKey, const Integer &r, const Integer &s) const |
Recover a Presignature. More... | |
virtual size_t | RLen (const DL_GroupParameters< T > ¶ms) const |
Retrieve R length. More... | |
virtual size_t | SLen (const DL_GroupParameters< T > ¶ms) const |
Retrieve S length. More... | |
virtual bool | IsDeterministic () const |
Signature scheme flag. More... | |
Interface for Elgamal-like signature algorithms.
T | Field element type or class |
|
inlinevirtual |
|
pure virtual |
Sign a message using a private key.
params | GroupParameters |
privateKey | private key |
k | signing exponent |
e | encoded message |
r | r part of signature |
s | s part of signature |
Implemented in DL_Algorithm_GDSA< EC::Point >, DL_Algorithm_GDSA_ISO15946< EC::Point >, DL_Algorithm_NR< EC::Point >, DL_Algorithm_LUC_HMP, DL_Algorithm_GDSA< T >, DL_Algorithm_GDSA_ISO15946< T >, and DL_Algorithm_NR< T >.
|
pure virtual |
Verify a message using a public key.
params | GroupParameters |
publicKey | public key |
e | encoded message |
r | r part of signature |
s | s part of signature |
Implemented in DL_Algorithm_GDSA< EC::Point >, DL_Algorithm_GDSA_ISO15946< EC::Point >, DL_Algorithm_NR< EC::Point >, DL_Algorithm_LUC_HMP, DL_Algorithm_GDSA< T >, DL_Algorithm_GDSA_ISO15946< T >, and DL_Algorithm_NR< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Signature scheme flag.
IsDeterministic() is provided for DL signers. It is used by RFC 6979 signature schemes.
Reimplemented in DL_Algorithm_DSA_RFC6979< T, H >, and DL_Algorithm_DSA_RFC6979< EC::Point, H >.