Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
Discrete Log (DL) signer implementation. More...
#include <pubkey.h>
Public Member Functions | |
PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const |
Create a new HashTransformation to accumulate the message to be signed. More... | |
Public Member Functions inherited from DL_ObjectImplBase< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > | |
PrivateKey & | AccessPrivateKey () |
PublicKey & | AccessPublicKey () |
const SCHEME_OPTIONS::PrivateKey & | GetKey () const |
SCHEME_OPTIONS::PrivateKey & | AccessKey () |
Public Member Functions inherited from AlgorithmImpl< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > | |
std::string | AlgorithmName () const |
The algorithm name. More... | |
Public Member Functions inherited from DL_SignerBase< SCHEME_OPTIONS::Element > | |
void | RawSign (const Integer &k, const Integer &e, Integer &r, Integer &s) const |
Testing interface. More... | |
void | InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const |
Input a recoverable message to an accumulator. More... | |
size_t | SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart) const |
Sign and restart messageAccumulator. More... | |
Public Member Functions inherited from DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< SCHEME_OPTIONS::Element > > | |
size_t | SignatureLength () const |
Provides the signature length. More... | |
size_t | MaxRecoverableLength () const |
Provides the maximum recoverable length. More... | |
size_t | MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const |
Provides the maximum recoverable length. More... | |
bool | IsProbabilistic () const |
Determines if the scheme is probabilistic. More... | |
bool | AllowNonrecoverablePart () const |
Determines if the scheme has non-recoverable part. More... | |
bool | RecoverablePartFirst () const |
Determines if the scheme allows recoverable part first. More... | |
Public Member Functions inherited from PK_Signer | |
virtual PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const =0 |
Create a new HashTransformation to accumulate the message to be signed. More... | |
virtual void | InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const =0 |
Input a recoverable message to an accumulator. More... | |
virtual size_t | Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const |
Sign and delete the messageAccumulator. More... | |
virtual size_t | SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const =0 |
Sign and restart messageAccumulator. More... | |
virtual size_t | SignMessage (RandomNumberGenerator &rng, const byte *message, size_t messageLen, byte *signature) const |
Sign a message. More... | |
virtual size_t | SignMessageWithRecovery (RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, byte *signature) const |
Sign a recoverable message. More... | |
Public Member Functions inherited from PK_SignatureScheme | |
virtual size_t | SignatureLength () const =0 |
Provides the signature length if it only depends on the key. More... | |
virtual size_t | MaxSignatureLength (size_t recoverablePartLength=0) const |
Provides the maximum signature length produced given the length of the recoverable message part. More... | |
virtual size_t | MaxRecoverableLength () const =0 |
Provides the length of longest message that can be recovered. More... | |
virtual size_t | MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const =0 |
Provides the length of longest message that can be recovered from a signature of given length. More... | |
virtual bool | IsProbabilistic () const =0 |
Determines whether a signature scheme requires a random number generator. More... | |
virtual bool | AllowNonrecoverablePart () const =0 |
Determines whether the non-recoverable message part can be signed. More... | |
virtual bool | SignatureUpfront () const |
Determines whether the signature must be input before the message. More... | |
virtual bool | RecoverablePartFirst () const =0 |
Determines whether the recoverable part must be input before the non-recoverable part. More... | |
Public Member Functions inherited from PrivateKeyAlgorithm | |
CryptoMaterial & | AccessMaterial () |
Retrieves a reference to a Private Key. More... | |
const CryptoMaterial & | GetMaterial () const |
Retrieves a reference to a Private Key. More... | |
virtual PrivateKey & | AccessPrivateKey ()=0 |
Retrieves a reference to a Private Key. More... | |
virtual const PrivateKey & | GetPrivateKey () const |
Retrieves a reference to a Private Key. More... | |
virtual CryptoMaterial & | AccessMaterial ()=0 |
Retrieves a reference to CryptoMaterial. More... | |
virtual const CryptoMaterial & | GetMaterial () const =0 |
Retrieves a reference to CryptoMaterial. More... | |
Public Member Functions inherited from Algorithm | |
Algorithm (bool checkSelfTestStatus=true) | |
Interface for all crypto algorithms. More... | |
virtual std::string | AlgorithmName () const |
Provides the name of this algorithm. More... | |
virtual std::string | AlgorithmProvider () const |
Retrieve the provider of this algorithm. More... | |
Public Member Functions inherited from Clonable | |
virtual Clonable * | Clone () const |
Copies this object. More... | |
Additional Inherited Members | |
Public Types inherited from DL_ObjectImpl< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > | |
typedef KEY::Element | Element |
Public Types inherited from DL_ObjectImplBase< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > | |
typedef SCHEME_OPTIONS | SchemeOptions |
typedef KEY::Element | Element |
Static Public Member Functions inherited from AlgorithmImpl< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > | |
static std::string | StaticAlgorithmName () |
The algorithm name. More... | |
Discrete Log (DL) signer implementation.
SCHEME_OPTIONS | options for the scheme |
|
inlinevirtual |
Create a new HashTransformation to accumulate the message to be signed.
rng | a RandomNumberGenerator derived class |
NewSignatureAccumulator() can be used with all signing methods. Sign() will automatically delete the accumulator pointer. The caller is responsible for deletion if a method is called that takes a reference.
Implements PK_Signer.