Crypto++ 8.7
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
DL_VerifierImpl< SCHEME_OPTIONS > Class Template Reference

Discrete Log (DL) verifier implementation. More...

#include <pubkey.h>

+ Inheritance diagram for DL_VerifierImpl< SCHEME_OPTIONS >:

Public Member Functions

PK_MessageAccumulatorNewVerificationAccumulator () const
 Create a new HashTransformation to accumulate the message to be verified. More...
 
- Public Member Functions inherited from DL_ObjectImplBase< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey >
PrivateKeyAccessPrivateKey ()
 
PublicKeyAccessPublicKey ()
 
const SCHEME_OPTIONS::PublicKey & GetKey () const
 
SCHEME_OPTIONS::PublicKey & AccessKey ()
 
- Public Member Functions inherited from AlgorithmImpl< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo >
std::string AlgorithmName () const
 The algorithm name. More...
 
- Public Member Functions inherited from DL_VerifierBase< SCHEME_OPTIONS::Element >
void InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, size_t signatureLength) const
 Input signature into a message accumulator. More...
 
bool VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const
 Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator. More...
 
DecodingResult RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &messageAccumulator) const
 Recover a message from its signature. More...
 
- Public Member Functions inherited from DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< 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_Verifier
virtual PK_MessageAccumulatorNewVerificationAccumulator () const =0
 Create a new HashTransformation to accumulate the message to be verified. More...
 
virtual void InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, size_t signatureLength) const =0
 Input signature into a message accumulator. More...
 
virtual bool Verify (PK_MessageAccumulator *messageAccumulator) const
 Check whether messageAccumulator contains a valid signature and message. More...
 
virtual bool VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const =0
 Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator. More...
 
virtual bool VerifyMessage (const byte *message, size_t messageLen, const byte *signature, size_t signatureLen) const
 Check whether input signature is a valid signature for input message. More...
 
virtual DecodingResult Recover (byte *recoveredMessage, PK_MessageAccumulator *messageAccumulator) const
 Recover a message from its signature. More...
 
virtual DecodingResult RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &messageAccumulator) const =0
 Recover a message from its signature. More...
 
virtual DecodingResult RecoverMessage (byte *recoveredMessage, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, const byte *signature, size_t signatureLength) const
 Recover a message from its signature. 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 PublicKeyAlgorithm
CryptoMaterialAccessMaterial ()
 Retrieves a reference to a Public Key. More...
 
const CryptoMaterialGetMaterial () const
 Retrieves a reference to a Public Key. More...
 
virtual PublicKeyAccessPublicKey ()=0
 Retrieves a reference to a Public Key. More...
 
virtual const PublicKeyGetPublicKey () const
 Retrieves a reference to a Public Key. More...
 
virtual CryptoMaterialAccessMaterial ()=0
 Retrieves a reference to CryptoMaterial. More...
 
virtual const CryptoMaterialGetMaterial () 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 ClonableClone () const
 Copies this object. More...
 

Additional Inherited Members

- Public Types inherited from DL_ObjectImpl< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey >
typedef KEY::Element Element
 
- Public Types inherited from DL_ObjectImplBase< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey >
typedef SCHEME_OPTIONS SchemeOptions
 
typedef KEY::Element Element
 
- Static Public Member Functions inherited from AlgorithmImpl< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo >
static std::string StaticAlgorithmName ()
 The algorithm name. More...
 

Detailed Description

template<class SCHEME_OPTIONS>
class DL_VerifierImpl< SCHEME_OPTIONS >

Discrete Log (DL) verifier implementation.

Template Parameters
SCHEME_OPTIONSoptions for the scheme

Definition at line 2035 of file pubkey.h.

Member Function Documentation

◆ NewVerificationAccumulator()

template<class SCHEME_OPTIONS >
PK_MessageAccumulator * DL_VerifierImpl< SCHEME_OPTIONS >::NewVerificationAccumulator ( ) const
inlinevirtual

Create a new HashTransformation to accumulate the message to be verified.

Returns
a pointer to a PK_MessageAccumulator

NewVerificationAccumulator() can be used with all verification methods. Verify() will automatically delete the accumulator pointer. The caller is responsible for deletion if a method is called that takes a reference.

Implements PK_Verifier.

Definition at line 2038 of file pubkey.h.


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