Fabcoin Core
0.16.2
P2P Digital Currency
|
Interface for public-key signature verifiers. More...
#include <cryptlib.h>
Public Member Functions | |
virtual | ~PK_Verifier () |
virtual PK_MessageAccumulator * | NewVerificationAccumulator () const =0 |
Create a new HashTransformation to accumulate the message to be verified. More... | |
virtual void | InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, size_t signatureLength) const =0 |
Input signature into a message accumulator. More... | |
virtual bool | Verify (PK_MessageAccumulator *messageAccumulator) const |
Check whether messageAccumulator contains a valid signature and message. More... | |
virtual bool | VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const =0 |
Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator. More... | |
virtual bool | VerifyMessage (const byte *message, size_t messageLen, const byte *signature, size_t signatureLen) const |
Check whether input signature is a valid signature for input message. More... | |
virtual DecodingResult | Recover (byte *recoveredMessage, PK_MessageAccumulator *messageAccumulator) const |
Recover a message from its signature. More... | |
virtual DecodingResult | RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &messageAccumulator) const =0 |
Recover a message from its signature. More... | |
virtual DecodingResult | RecoverMessage (byte *recoveredMessage, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, const byte *signature, size_t signatureLength) const |
Recover a message from its signature. More... | |
Public Member Functions inherited from PK_SignatureScheme | |
virtual | ~PK_SignatureScheme () |
virtual size_t | SignatureLength () const =0 |
Provides the signature length if it only depends on the key. More... | |
virtual size_t | MaxSignatureLength (size_t recoverablePartLength=0) const |
Provides the maximum signature length produced given the length of the recoverable message part. More... | |
virtual size_t | MaxRecoverableLength () const =0 |
Provides the length of longest message that can be recovered. More... | |
virtual size_t | MaxRecoverableLengthFromSignatureLength (size_t signatureLength) const =0 |
Provides the length of longest message that can be recovered from a signature of given length. More... | |
virtual bool | IsProbabilistic () const =0 |
Determines whether a signature scheme requires a random number generator. More... | |
virtual bool | AllowNonrecoverablePart () const =0 |
Determines whether the non-recoverable message part can be signed. More... | |
virtual bool | SignatureUpfront () const |
Determines whether the signature must be input before the message. More... | |
virtual bool | RecoverablePartFirst () const =0 |
Determines whether the recoverable part must be input before the non-recoverable part. More... | |
Public Member Functions inherited from PublicKeyAlgorithm | |
virtual | ~PublicKeyAlgorithm () |
CryptoMaterial & | AccessMaterial () |
Retrieves a reference to a Public Key. More... | |
const CryptoMaterial & | GetMaterial () const |
Retrieves a reference to a Public Key. More... | |
virtual PublicKey & | AccessPublicKey ()=0 |
Retrieves a reference to a Public Key. More... | |
virtual const PublicKey & | GetPublicKey () const |
Retrieves a reference to a Public Key. More... | |
Public Member Functions inherited from AsymmetricAlgorithm | |
virtual | ~AsymmetricAlgorithm () |
void | BERDecode (BufferedTransformation &bt) |
Loads this object from a BufferedTransformation. More... | |
void | DEREncode (BufferedTransformation &bt) const |
Saves this object to a BufferedTransformation. More... | |
Public Member Functions inherited from Algorithm | |
virtual | ~Algorithm () |
Algorithm (bool checkSelfTestStatus=true) | |
Interface for all crypto algorithms. More... | |
virtual std::string | AlgorithmName () const |
Provides the name of this algorithm. More... | |
Public Member Functions inherited from Clonable | |
virtual | ~Clonable () |
virtual Clonable * | Clone () const |
Copies this object. More... | |
Interface for public-key signature verifiers.
The Recover* functions throw NotImplemented if the signature scheme does not support message recovery.
The Verify* functions throw InvalidDataFormat if the scheme does support message recovery and the signature contains a non-empty recoverable message part. The Recover* functions should be used in that case.
Definition at line 2592 of file cryptlib.h.
|
inlinevirtual |
Definition at line 2595 of file cryptlib.h.
|
pure virtual |
Input signature into a message accumulator.
messageAccumulator | a pointer to a PK_MessageAccumulator derived class |
signature | the signature on the message |
signatureLength | the size of the signature |
Implemented in DL_VerifierBase< T >, DL_VerifierBase< SCHEME_OPTIONS::Element >, and TF_VerifierBase.
|
pure virtual |
Create a new HashTransformation to accumulate the message to be verified.
NewVerificationAccumulator() can be used with all verification methods. Verify() will autimatically delete the accumulator pointer. The caller is responsible for deletion if a method is called that takes a reference.
Implemented in DL_VerifierImpl< SCHEME_OPTIONS >, and TF_ObjectImplBase< TF_VerifierBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey >.
|
virtual |
Recover a message from its signature.
recoveredMessage | a pointer to the recoverable message part to be verified |
messageAccumulator | a pointer to a PK_MessageAccumulator derived class |
Recover() deletes the messageAccumulator, even if an exception is thrown.
COUNTOF(recoveredMessage) == MaxRecoverableLengthFromSignatureLength(signatureLength)
Definition at line 914 of file cryptlib.cpp.
|
pure virtual |
Recover a message from its signature.
recoveredMessage | a pointer to the recoverable message part to be verified |
messageAccumulator | a pointer to a PK_MessageAccumulator derived class |
RecoverAndRestart() restarts the messageAccumulator
COUNTOF(recoveredMessage) == MaxRecoverableLengthFromSignatureLength(signatureLength)
Implemented in DL_VerifierBase< T >, DL_VerifierBase< SCHEME_OPTIONS::Element >, and TF_VerifierBase.
|
virtual |
Recover a message from its signature.
recoveredMessage | a pointer for the recovered message |
nonrecoverableMessage | a pointer to the non-recoverable message part to be signed |
nonrecoverableMessageLength | the size of the non-recoverable message part |
signature | the signature on the message |
signatureLength | the size of the signature |
COUNTOF(recoveredMessage) == MaxRecoverableLengthFromSignatureLength(signatureLength)
Definition at line 920 of file cryptlib.cpp.
|
virtual |
Check whether messageAccumulator contains a valid signature and message.
messageAccumulator | a pointer to a PK_MessageAccumulator derived class |
Verify() deletes the messageAccumulator, even if an exception is thrown.
Definition at line 900 of file cryptlib.cpp.
|
pure virtual |
Check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator.
messageAccumulator | a reference to a PK_MessageAccumulator derived class |
VerifyAndRestart() restarts the messageAccumulator
Implemented in DL_VerifierBase< T >, DL_VerifierBase< SCHEME_OPTIONS::Element >, and TF_VerifierBase.
|
virtual |
Check whether input signature is a valid signature for input message.
message | a pointer to the message to be verified |
messageLen | the size of the message |
signature | a pointer to the signature over the message |
signatureLen | the size of the signature |
Definition at line 906 of file cryptlib.cpp.