#include <cryptlib.h>
Inheritance diagram for PK_SignatureScheme:
This class provides an interface common to signers and verifiers for querying scheme properties.
Definition at line 1202 of file cryptlib.h.
Public Member Functions | |
virtual | ~PK_SignatureScheme () |
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 | |
Classes | |
class | InvalidKeyLength |
invalid key exception, may be thrown by any function in this class if the private or public key has a length that can't be used More... | |
class | KeyTooShort |
key too short exception, may be thrown by any function in this class if the private or public key is too short to sign or verify anything More... |
|
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 > >. |