![]() |
Fabcoin Core
0.16.2
P2P Digital Currency
|
Interface for message encoding method for public key signature schemes. More...
#include <pubkey.h>
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 |
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.
|
inlinevirtual |
|
inline |
|
pure virtual |
Implemented in DL_SignatureMessageEncodingMethod_NR, DL_SignatureMessageEncodingMethod_DSA, EMSA5Pad< T >, PKCS1v15_SignatureMessageEncodingMethod, EMSA2Pad, and PSSR_MEM_Base.
|
inline |
Determines whether an encoding method requires a random number generator.
if IsProbabilistic() returns false, then NullRNG() can be passed to functions that take RandomNumberGenerator().
|
inlinevirtual |
Reimplemented in PSSR_MEM_Base.
Definition at line 329 of file pubkey.h.
|
inlinevirtual |
Reimplemented in PKCS1v15_SignatureMessageEncodingMethod, EMSA2Pad, and PSSR_MEM_Base.
Definition at line 327 of file pubkey.h.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in PSSR_MEM_Base.
|
inlinevirtual |
Reimplemented in PSSR_MEM_Base.
Definition at line 370 of file pubkey.h.
|
inlinevirtual |
|
pure virtual |
Implemented in PK_RecoverableSignatureMessageEncodingMethod, and PK_DeterministicSignatureMessageEncodingMethod.