Crypto++  5.6.5
Free C++ class library of cryptographic schemes
Classes | Public Member Functions | List of all members
PK_SignatureMessageEncodingMethod Class Referenceabstract

Interface for message encoding method for public key signature schemes. More...

+ Inheritance diagram for PK_SignatureMessageEncodingMethod:

Classes

struct  HashIdentifierLookup
 

Public Member Functions

virtual size_t MinRepresentativeBitLength (size_t hashIdentifierLength, size_t digestLength) const
 
virtual size_t MaxRecoverableLength (size_t representativeBitLength, size_t hashIdentifierLength, size_t digestLength) const
 
bool IsProbabilistic () const
 Determines whether an encoding method requires a random number generator. More...
 
bool AllowNonrecoverablePart () const
 
virtual bool RecoverablePartFirst () const
 
virtual void ProcessSemisignature (HashTransformation &hash, const byte *semisignature, size_t semisignatureLength) const
 
virtual void ProcessRecoverableMessage (HashTransformation &hash, const byte *recoverableMessage, size_t recoverableMessageLength, const byte *presignature, size_t presignatureLength, SecByteBlock &semisignature) const
 
virtual void ComputeMessageRepresentative (RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, size_t representativeBitLength) const =0
 
virtual bool VerifyMessageRepresentative (HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, size_t representativeBitLength) const =0
 
virtual DecodingResult RecoverMessageFromRepresentative (HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, size_t representativeBitLength, byte *recoveredMessage) const
 
virtual DecodingResult RecoverMessageFromSemisignature (HashTransformation &hash, HashIdentifier hashIdentifier, const byte *presignature, size_t presignatureLength, const byte *semisignature, size_t semisignatureLength, byte *recoveredMessage) const
 

Detailed Description

Interface for message encoding method for public key signature schemes.

PK_SignatureMessageEncodingMethod provides interfaces for message encoding method for public key signature schemes. The methods support both trapdoor functions (TF_*) and discrete logarithm (DL_*) based schemes.

Definition at line 322 of file pubkey.h.

Member Function Documentation

bool PK_SignatureMessageEncodingMethod::IsProbabilistic ( ) const
inline

Determines whether an encoding method requires a random number generator.

Returns
true if the encoding method requires a RandomNumberGenerator()

if IsProbabilistic() returns false, then NullRNG() can be passed to functions that take RandomNumberGenerator().

See also
Bellare and RogawayPSS: Provably Secure Encoding Method for Digital Signatures

Definition at line 338 of file pubkey.h.


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