Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

# TF_SignerBase Class Reference

`#include <pubkey.h>`

Inheritance diagram for TF_SignerBase:

List of all members.

## Detailed Description

_

Definition at line 333 of file pubkey.h.

## Public Member Functions
void | InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, unsigned int recoverableMessageLength) const
unsigned int | SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const
| sign and restart messageAccumulator
unsigned int | SignatureLength () const
| signature length if it only depends on the key, otherwise 0
unsigned int | MaxRecoverableLength () const
| length of longest message that can be recovered, or 0 if this signature scheme does not support message recovery
unsigned int | MaxRecoverableLengthFromSignatureLength (unsigned int signatureLength) const
| 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
bool | IsProbabilistic () const
| requires a random number generator to sign
bool | AllowNonrecoverablePart () const
| whether or not a non-recoverable message part can be signed
bool | RecoverablePartFirst () const
| whether you must input the recoverable part before the non-recoverable part during signing
virtual PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const =0
| create a new HashTransformation to accumulate the message to be signed
virtual unsigned int | Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const
| sign and delete messageAccumulator (even in case of exception thrown)
virtual unsigned int | SignMessage (RandomNumberGenerator &rng, const byte *message, unsigned int messageLen, byte *signature) const
| sign a message
virtual unsigned int | SignMessageWithRecovery (RandomNumberGenerator &rng, const byte *recoverableMessage, unsigned int recoverableMessageLength, const byte *nonrecoverableMessage, unsigned int nonrecoverableMessageLength, byte *signature) const
| sign a recoverable message
virtual unsigned int | MaxSignatureLength (unsigned int recoverablePartLength=0) const
| maximum signature length produced for a given length of recoverable message part
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 */
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 PrivateKey & | AccessPrivateKey ()=0
virtual const PrivateKey & | GetPrivateKey () 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
## Protected Types
typedef RandomizedTrapdoorFunctionInverse | TrapdoorFunctionInterface
typedef PK_SignatureMessageEncodingMethod | MessageEncodingInterface
## Protected Member Functions
unsigned int | MessageRepresentativeLength () const
unsigned int | MessageRepresentativeBitLength () const
virtual HashIdentifier | GetHashIdentifier () const=0
virtual unsigned int | GetDigestSize () const=0
virtual const TrapdoorFunctionBounds & | GetTrapdoorFunctionBounds () const=0
virtual const TrapdoorFunctionInterface & | GetTrapdoorFunctionInterface () const=0
virtual const MessageEncodingInterface & | GetMessageEncodingInterface () const=0

## Member Function Documentation

unsigned int TF_SignerBase::SignAndRestart | ( | RandomNumberGenerator & | rng,
|  | PK_MessageAccumulator & | messageAccumulator,
|  | byte * | signature,
|  | bool | restart = `true`
| ) | const`[virtual]`

| sign and restart messageAccumulator Precondition: size of signature == MaxSignatureLength() Returns: actual signature length Implements PK_Signer. Definition at line 62 of file pubkey.cpp. References PK_SignatureScheme::SignatureLength(), and SecBlock< T, A >::size().

bool TF_SignatureSchemeBase< PK_Signer , TF_Base< RandomizedTrapdoorFunctionInverse, PK_SignatureMessageEncodingMethod > >::IsProbabilistic | ( |  | ) | const`[inline, virtual, inherited]`

| Implements PK_SignatureScheme. Definition at line 318 of file pubkey.h.

unsigned int PK_Signer::Sign | ( | RandomNumberGenerator & | rng,
|  | PK_MessageAccumulator * | messageAccumulator,
|  | byte * | signature
| ) | const`[virtual, inherited]`

| sign and delete messageAccumulator (even in case of exception thrown) Precondition: size of signature == MaxSignatureLength() Returns: actual signature length Definition at line 615 of file cryptlib.cpp. References PK_Signer::SignAndRestart(). Referenced by SignerFilter::Put2().

unsigned int PK_Signer::SignMessage | ( | RandomNumberGenerator & | rng,
|  | const byte * | message,
|  | unsigned int | messageLen,
|  | byte * | signature
| ) | const`[virtual, inherited]`

| sign a message Precondition: size of signature == MaxSignatureLength() Returns: actual signature length Definition at line 621 of file cryptlib.cpp. References PK_Signer::NewSignatureAccumulator(), and PK_Signer::SignAndRestart().

unsigned int PK_Signer::SignMessageWithRecovery | ( | RandomNumberGenerator & | rng,
|  | const byte * | recoverableMessage,
|  | unsigned int | recoverableMessageLength,
|  | const byte * | nonrecoverableMessage,
|  | unsigned int | nonrecoverableMessageLength,
|  | byte * | signature
| ) | const`[virtual, inherited]`

| sign a recoverable message Precondition: size of signature == MaxSignatureLength(recoverableMessageLength) Returns: actual signature length Definition at line 628 of file cryptlib.cpp. References PK_Signer::NewSignatureAccumulator(), and PK_Signer::SignAndRestart().

The documentation for this class was generated from the following files:

- pubkey.h
- pubkey.cpp