- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# PK_SignatureScheme Class Reference

`#include <cryptlib.h>`

Inheritance diagram for PK_SignatureScheme:

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:

- cryptlib.h