Crypto++  8.8
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...

+ 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. 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< T > >
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 bool Verify (PK_MessageAccumulator *messageAccumulator) const
 Check whether messageAccumulator contains a valid signature and message. 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 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 MaxSignatureLength (size_t recoverablePartLength=0) const
 Provides the maximum signature length produced given the length of the recoverable message part. More...
 
virtual bool SignatureUpfront () const
 Determines whether the signature must be input before the message. 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...
 
- 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...
 

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.

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: