Security Scol plugin
Classes | Public Member Functions | List of all members
PK_SignatureMessageEncodingMethod Class Referenceabstract

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

#include <pubkey.h>

Inheritance diagram for PK_SignatureMessageEncodingMethod:
PK_DeterministicSignatureMessageEncodingMethod PK_RecoverableSignatureMessageEncodingMethod EMSA2HashIdLookup< PK_DeterministicSignatureMessageEncodingMethod > DL_SignatureMessageEncodingMethod_DSA DL_SignatureMessageEncodingMethod_NR EMSA5Pad< T > PKCS1v15_SignatureMessageEncodingMethod PSSR_MEM_Base EMSA2Pad EMSA2HashIdLookup< PSSR_MEM_Base > PSSR_MEM_BaseWithHashId< true >

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 ( )
inlinevirtual

Definition at line 313 of file pubkey.h.

Member Function Documentation

◆ AllowNonrecoverablePart()

bool PK_SignatureMessageEncodingMethod::AllowNonrecoverablePart ( ) const
inline

Definition at line 328 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.

◆ MaxRecoverableLength()

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

Definition at line 317 of file pubkey.h.

◆ MinRepresentativeBitLength()

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

Definition at line 315 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
inlinevirtual

Definition at line 338 of file pubkey.h.

◆ ProcessSemisignature()

virtual void PK_SignatureMessageEncodingMethod::ProcessSemisignature ( HashTransformation hash,
const byte semisignature,
size_t  semisignatureLength 
) const
inlinevirtual

Definition at line 334 of file pubkey.h.

◆ RecoverablePartFirst()

virtual bool PK_SignatureMessageEncodingMethod::RecoverablePartFirst ( ) const
inlinevirtual

Definition at line 330 of file pubkey.h.

◆ RecoverMessageFromRepresentative()

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

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
inlinevirtual

Definition at line 366 of file pubkey.h.


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