#include <cryptlib.h>
Inheritance diagram for PK_Verifier:

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 Recovery* functions should be used in that case.
Definition at line 1305 of file cryptlib.h.
Public Member Functions | |
| virtual PK_MessageAccumulator * | NewVerificationAccumulator () const =0 |
| create a new HashTransformation to accumulate the message to be verified | |
| virtual void | InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, unsigned int signatureLength) const =0 |
| input signature into a message accumulator | |
| virtual bool | Verify (PK_MessageAccumulator *messageAccumulator) const |
| check whether messageAccumulator contains a valid signature and message, and delete messageAccumulator (even in case of exception thrown) | |
| virtual bool | VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const =0 |
| check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator | |
| virtual bool | VerifyMessage (const byte *message, unsigned int messageLen, const byte *signature, unsigned int signatureLength) const |
| check whether input signature is a valid signature for input message | |
| virtual DecodingResult | Recover (byte *recoveredMessage, PK_MessageAccumulator *messageAccumulator) const |
| recover a message from its signature | |
| virtual DecodingResult | RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &messageAccumulator) const =0 |
| recover a message from its signature | |
| virtual DecodingResult | RecoverMessage (byte *recoveredMessage, const byte *nonrecoverableMessage, unsigned int nonrecoverableMessageLength, const byte *signature, unsigned int signatureLength) const |
| recover a message from its signature | |
| virtual unsigned int | SignatureLength () const =0 |
| signature length if it only depends on the key, otherwise 0 | |
| virtual unsigned int | MaxSignatureLength (unsigned int recoverablePartLength=0) const |
| maximum signature length produced for a given length of recoverable message part | |
| virtual unsigned int | MaxRecoverableLength () const =0 |
| length of longest message that can be recovered, or 0 if this signature scheme does not support message recovery | |
| virtual unsigned int | MaxRecoverableLengthFromSignatureLength (unsigned int signatureLength) const =0 |
| length of longest message that can be recovered from a signature of given length, or 0 if this signature scheme does not support message recovery | |
| virtual bool | IsProbabilistic () const =0 |
| requires a random number generator to sign | |
| virtual bool | AllowNonrecoverablePart () const =0 |
| whether or not a non-recoverable message part can be signed | |
| virtual bool | SignatureUpfront () const |
| if this function returns true, during verification you must input the signature before the message, otherwise you can input it at anytime */ | |
| virtual bool | RecoverablePartFirst () const =0 |
| whether you must input the recoverable part before the non-recoverable part during signing | |
| CryptoMaterial & | AccessMaterial () |
| returns a reference to the crypto material used by this object | |
| const CryptoMaterial & | GetMaterial () const |
| returns a const reference to the crypto material used by this object | |
| virtual PublicKey & | AccessPublicKey ()=0 |
| virtual const PublicKey & | GetPublicKey () const |
| void | BERDecode (BufferedTransformation &bt) |
| for backwards compatibility, calls AccessMaterial().Load(bt) | |
| void | DEREncode (BufferedTransformation &bt) const |
| for backwards compatibility, calls GetMaterial().Save(bt) | |
| virtual std::string | AlgorithmName () const |
| returns name of this algorithm, not universally implemented yet | |
| virtual Clonable * | Clone () const |
| this is not implemented by most classes yet | |
|
||||||||||||
|
recover a message from its signature
Definition at line 651 of file cryptlib.cpp. References RecoverAndRestart(). |
|
||||||||||||
|
recover a message from its signature
Implemented in TF_VerifierBase, DL_VerifierBase< T >, and DL_VerifierBase< SCHEME_OPTIONS::Element >. Referenced by Recover(), and RecoverMessage(). |
|
||||||||||||||||||||||||
|
recover a message from its signature
Definition at line 657 of file cryptlib.cpp. References InputSignature(), NewVerificationAccumulator(), and RecoverAndRestart(). |
|
|
requires a random number generator to sign if this returns false, NullRNG() can be passed to functions that take RandomNumberGenerator & Implemented in TF_SignatureSchemeBase< PK_Verifier, TF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod > >, TF_SignatureSchemeBase< PK_Signer, TF_Base< RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod > >, DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< SCHEME_OPTIONS::Element > >, DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< SCHEME_OPTIONS::Element > >, DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< T > >, and DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > >. |
1.4.4