PK_SignatureMessageEncodingMethod Class Referenceabstract

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

`#include <pubkey.h>`

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.
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.

## Constructor & Destructor Documentation

## ~PK_SignatureMessageEncodingMethod()

virtual PK_SignatureMessageEncodingMethod::~PK_SignatureMessageEncodingMethod | ( |  | ) |

inline virtual

Definition at line 313 of file pubkey.h.

## Member Function Documentation

## MinRepresentativeBitLength()

virtual size_t PK_SignatureMessageEncodingMethod::MinRepresentativeBitLength | ( | size_t | hashIdentifierLength,
|  | size_t | digestLength
| ) |  | const

inline virtual

Definition at line 315 of file pubkey.h.

## MaxRecoverableLength()

virtual size_t PK_SignatureMessageEncodingMethod::MaxRecoverableLength | ( | size_t | representativeBitLength,
|  | size_t | hashIdentifierLength,
|  | size_t | digestLength
| ) |  | const

inline virtual

Definition at line 317 of file pubkey.h.

## 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.

## AllowNonrecoverablePart()

bool PK_SignatureMessageEncodingMethod::AllowNonrecoverablePart | ( |  | ) | const

inline

Definition at line 328 of file pubkey.h.

## RecoverablePartFirst()

virtual bool PK_SignatureMessageEncodingMethod::RecoverablePartFirst | ( |  | ) | const

inline virtual

Definition at line 330 of file pubkey.h.

## ProcessSemisignature()

virtual void PK_SignatureMessageEncodingMethod::ProcessSemisignature | ( | HashTransformation & | hash,
|  | const byte * | semisignature,
|  | size_t | semisignatureLength
| ) |  | const

inline virtual

Definition at line 334 of file pubkey.h.

## ProcessRecoverableMessage()

virtual void PK_SignatureMessageEncodingMethod::ProcessRecoverableMessage | ( | HashTransformation & | hash,
|  | const byte * | recoverableMessage,
|  | size_t | recoverableMessageLength,
|  | const byte * | presignature,
|  | size_t | presignatureLength,
|  | SecByteBlock & | semisignature
| ) |  | const

inline virtual

Definition at line 338 of file pubkey.h.

## RecoverMessageFromRepresentative()

virtual DecodingResult PK_SignatureMessageEncodingMethod::RecoverMessageFromRepresentative | ( | HashTransformation & | hash,
|  | HashIdentifier | hashIdentifier,
|  | bool | messageEmpty,
|  | byte * | representative,
|  | size_t | representativeBitLength,
|  | byte * | recoveredMessage
| ) |  | const

inline virtual

Definition at line 358 of file pubkey.h.

## RecoverMessageFromSemisignature()

virtual DecodingResult PK_SignatureMessageEncodingMethod::RecoverMessageFromSemisignature | ( | HashTransformation & | hash,
|  | HashIdentifier | hashIdentifier,
|  | const byte * | presignature,
|  | size_t | presignatureLength,
|  | const byte * | semisignature,
|  | size_t | semisignatureLength,
|  | byte * | recoveredMessage
| ) |  | const

inline virtual

Definition at line 366 of file pubkey.h.

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

- pubkey.h