Crypto++ 8.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 310 of file pubkey.h.

## Member Function Documentation

## ◆ IsProbabilistic()

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 326 of file pubkey.h.

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

- pubkey.h