PK_SignatureScheme Class Reference

#include <cryptlib.h>

Inheritance diagram for PK_SignatureScheme:

PK_Signer PK_Verifier DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< SCHEME_OPTIONS::Element > > DL_SignatureSchemeBase< PK_Signer, DL_PrivateKey< T > > TF_SignatureSchemeBase< PK_Signer, TF_Base< RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod > > DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< SCHEME_OPTIONS::Element > > DL_SignatureSchemeBase< PK_Verifier, DL_PublicKey< T > > TF_SignatureSchemeBase< PK_Verifier, TF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod > > DL_SignerBase< SCHEME_OPTIONS::Element > DL_SignerBase< T > TF_SignerBase DL_VerifierBase< SCHEME_OPTIONS::Element > DL_VerifierBase< T > TF_VerifierBase AlgorithmImpl< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > AlgorithmImpl< TF_SignerBase, SCHEME_OPTIONS::AlgorithmInfo > AlgorithmImpl< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS::AlgorithmInfo > AlgorithmImpl< TF_VerifierBase, SCHEME_OPTIONS::AlgorithmInfo > DL_ObjectImplBase< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > TF_ObjectImplBase< TF_SignerBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_ObjectImplBase< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_ObjectImplBase< TF_VerifierBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > DL_ObjectImpl< DL_SignerBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > TF_ObjectImpl< TF_SignerBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PrivateKey > DL_ObjectImpl< DL_VerifierBase< SCHEME_OPTIONS::Element >, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > TF_ObjectImpl< TF_VerifierBase, SCHEME_OPTIONS, SCHEME_OPTIONS::PublicKey > DL_SignerImpl< SCHEME_OPTIONS > TF_SignerImpl< SCHEME_OPTIONS > DL_VerifierImpl< SCHEME_OPTIONS > TF_VerifierImpl< SCHEME_OPTIONS > List of all members.

Detailed Description

interface for public-key signers and verifiers

This class provides an interface common to signers and verifiers for querying scheme properties.

Definition at line 1220 of file cryptlib.h.

Public Member Functions

virtual ~PK_SignatureScheme ()
virtual size_t SignatureLength () const=0
 signature length if it only depends on the key, otherwise 0
virtual size_t MaxSignatureLength (size_t recoverablePartLength=0) const
 maximum signature length produced for a given length of recoverable message part
virtual size_t MaxRecoverableLength () const=0
 length of longest message that can be recovered, or 0 if this signature scheme does not support message recovery
virtual size_t MaxRecoverableLengthFromSignatureLength (size_t 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...


Member Function Documentation

virtual bool PK_SignatureScheme::IsProbabilistic (  )  const [pure virtual]

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 > >.


The documentation for this class was generated from the following file:
Generated on Sat Dec 23 02:07:30 2006 for Crypto++ by  doxygen 1.5.1-p1