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

Discret Log (DL) Verifier base class. More...

#include <pubkey.h>

+ Inheritance diagram for DL_VerifierBase< T >:

Public Member Functions

void InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, size_t signatureLength) const
 Input signature into a message accumulator.
 
bool VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const
 Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator.
 
DecodingResult RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &messageAccumulator) const
 Recover a message from its signature.
 
- Public Member Functions inherited from DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< T > >
size_t SignatureLength () const
 Provides the signature length.
 
size_t MaxRecoverableLength () const
 Provides the maximum recoverable length.
 
size_t MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const
 Provides the maximum recoverable length.
 
bool IsProbabilistic () const
 Determines if the scheme is probabilistic.
 
bool AllowNonrecoverablePart () const
 Determines if the scheme has non-recoverable part.
 
bool RecoverablePartFirst () const
 Determines if the scheme allows recoverable part first.
 
- Public Member Functions inherited from PK_Verifier
virtual PK_MessageAccumulatorNewVerificationAccumulator () const =0
 Create a new HashTransformation to accumulate the message to be verified.
 
virtual bool Verify (PK_MessageAccumulator *messageAccumulator) const
 Check whether messageAccumulator contains a valid signature and message.
 
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.
 
virtual DecodingResult Recover (byte *recoveredMessage, PK_MessageAccumulator *messageAccumulator) const
 Recover a message from its signature.
 
virtual DecodingResult RecoverMessage (byte *recoveredMessage, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, const byte *signature, size_t signatureLength) const
 Recover a message from its signature.
 
- Public Member Functions inherited from PK_SignatureScheme
virtual size_t MaxSignatureLength (size_t recoverablePartLength=0) const
 Provides the maximum signature length produced given the length of the recoverable message part.
 
virtual bool SignatureUpfront () const
 Determines whether the signature must be input before the message.
 
- Public Member Functions inherited from PublicKeyAlgorithm
CryptoMaterialAccessMaterial ()
 Retrieves a reference to a Public Key.
 
const CryptoMaterialGetMaterial () const
 Retrieves a reference to a Public Key.
 
virtual PublicKeyAccessPublicKey ()=0
 Retrieves a reference to a Public Key.
 
virtual const PublicKeyGetPublicKey () const
 Retrieves a reference to a Public Key.
 
- Public Member Functions inherited from Algorithm
 Algorithm (bool checkSelfTestStatus=true)
 Interface for all crypto algorithms.
 
virtual std::string AlgorithmName () const
 Provides the name of this algorithm.
 
virtual std::string AlgorithmProvider () const
 Retrieve the provider of this algorithm.
 
- Public Member Functions inherited from Clonable
virtual ClonableClone () const
 Copies this object.
 

Detailed Description

template<class T>
class DL_VerifierBase< T >

Discret Log (DL) Verifier base class.

Template Parameters
TField element type or class

Field element T can be Integer, ECP or EC2N.

Definition at line 1718 of file pubkey.h.

Constructor & Destructor Documentation

◆ ~DL_VerifierBase()

template<class T >
virtual DL_VerifierBase< T >::~DL_VerifierBase ( )
inlinevirtual

Definition at line 1721 of file pubkey.h.

Member Function Documentation

◆ InputSignature()

template<class T >
void DL_VerifierBase< T >::InputSignature ( PK_MessageAccumulator & messageAccumulator,
const byte * signature,
size_t signatureLength ) const
inlinevirtual

Input signature into a message accumulator.

Parameters
messageAccumulatora pointer to a PK_MessageAccumulator derived class
signaturethe signature on the message
signatureLengththe size of the signature

Implements PK_Verifier.

Definition at line 1723 of file pubkey.h.

◆ VerifyAndRestart()

template<class T >
bool DL_VerifierBase< T >::VerifyAndRestart ( PK_MessageAccumulator & messageAccumulator) const
inlinevirtual

Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator.

Parameters
messageAccumulatora reference to a PK_MessageAccumulator derived class
Returns
true if the signature is valid, false otherwise

VerifyAndRestart() restarts the messageAccumulator

Implements PK_Verifier.

Definition at line 1744 of file pubkey.h.

◆ RecoverAndRestart()

template<class T >
DecodingResult DL_VerifierBase< T >::RecoverAndRestart ( byte * recoveredMessage,
PK_MessageAccumulator & messageAccumulator ) const
inlinevirtual

Recover a message from its signature.

Parameters
recoveredMessagea pointer to the recoverable message part to be verified
messageAccumulatora pointer to a PK_MessageAccumulator derived class
Returns
the result of the verification operation

RecoverAndRestart() restarts the messageAccumulator

Precondition
COUNTOF(recoveredMessage) == MaxRecoverableLengthFromSignatureLength(signatureLength)

Implements PK_Verifier.

Definition at line 1764 of file pubkey.h.


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