Fabcoin Core  0.16.2
P2P Digital Currency
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:
[legend]

Classes

struct  HashIdentifierLookup
 

Public Member Functions

virtual ~PK_SignatureMessageEncodingMethod ()
 
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.

Constructor & Destructor Documentation

virtual PK_SignatureMessageEncodingMethod::~PK_SignatureMessageEncodingMethod ( )
inlinevirtual

Definition at line 325 of file pubkey.h.

Member Function Documentation

bool PK_SignatureMessageEncodingMethod::AllowNonrecoverablePart ( ) const
inline

Definition at line 340 of file pubkey.h.

virtual void PK_SignatureMessageEncodingMethod::ComputeMessageRepresentative ( RandomNumberGenerator rng,
const byte recoverableMessage,
size_t  recoverableMessageLength,
HashTransformation hash,
HashIdentifier  hashIdentifier,
bool  messageEmpty,
byte representative,
size_t  representativeBitLength 
) const
pure virtual

Implemented in DL_SignatureMessageEncodingMethod_NR, DL_SignatureMessageEncodingMethod_DSA, EMSA5Pad< T >, PKCS1v15_SignatureMessageEncodingMethod, EMSA2Pad, and PSSR_MEM_Base.

Here is the caller graph for this function:

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.

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

Reimplemented in PSSR_MEM_Base.

Definition at line 329 of file pubkey.h.

Here is the caller graph for this function:

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

Reimplemented in PKCS1v15_SignatureMessageEncodingMethod, EMSA2Pad, and PSSR_MEM_Base.

Definition at line 327 of file pubkey.h.

Here is the caller graph for this function:

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

Here is the caller graph for this function:

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

Definition at line 346 of file pubkey.h.

virtual bool PK_SignatureMessageEncodingMethod::RecoverablePartFirst ( ) const
inlinevirtual

Reimplemented in PSSR_MEM_Base.

Definition at line 342 of file pubkey.h.

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

Reimplemented in PSSR_MEM_Base.

Definition at line 370 of file pubkey.h.

Here is the caller graph for this function:

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

virtual bool PK_SignatureMessageEncodingMethod::VerifyMessageRepresentative ( HashTransformation hash,
HashIdentifier  hashIdentifier,
bool  messageEmpty,
byte representative,
size_t  representativeBitLength 
) const
pure virtual

Implemented in PK_RecoverableSignatureMessageEncodingMethod, and PK_DeterministicSignatureMessageEncodingMethod.

Here is the caller graph for this function:


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