#include <pubkey.h>
Inheritance diagram for TF_VerifierImpl< SCHEME_OPTIONS >:
Definition at line 469 of file pubkey.h.
Public Types | |
typedef SCHEME_OPTIONS::PublicKey | KeyClass |
typedef SCHEME_OPTIONS | SchemeOptions |
Public Member Functions | |
const KeyClass & | GetKey () const |
KeyClass & | AccessKey () |
PublicKey & | AccessPublicKey () |
const PublicKey & | GetPublicKey () const |
PrivateKey & | AccessPrivateKey () |
const PrivateKey & | GetPrivateKey () const |
const KeyClass & | GetTrapdoorFunction () const |
PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const |
PK_MessageAccumulator * | NewVerificationAccumulator () const |
create a new HashTransformation to accumulate the message to be verified | |
std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
void | InputSignature (PK_MessageAccumulator &messageAccumulator, const byte *signature, size_t signatureLength) const |
input signature into a message accumulator | |
bool | VerifyAndRestart (PK_MessageAccumulator &messageAccumulator) const |
check whether messageAccumulator contains a valid signature and message, and restart messageAccumulator | |
DecodingResult | RecoverAndRestart (byte *recoveredMessage, PK_MessageAccumulator &recoveryAccumulator) const |
recover a message from its signature | |
size_t | SignatureLength () const |
signature length if it only depends on the key, otherwise 0 | |
size_t | MaxRecoverableLength () const |
length of longest message that can be recovered, or 0 if this signature scheme does not support message recovery | |
size_t | MaxRecoverableLengthFromSignatureLength (size_t 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 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 | VerifyMessage (const byte *message, size_t messageLen, const byte *signature, size_t 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 | RecoverMessage (byte *recoveredMessage, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, const byte *signature, size_t signatureLength) const |
recover a message from its signature | |
virtual size_t | MaxSignatureLength (size_t 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 | |
void | BERDecode (BufferedTransformation &bt) |
for backwards compatibility, calls AccessMaterial().Load(bt) | |
void | DEREncode (BufferedTransformation &bt) const |
for backwards compatibility, calls GetMaterial().Save(bt) | |
virtual Clonable * | Clone () const |
this is not implemented by most classes yet | |
Static Public Member Functions | |
static std::string __cdecl | StaticAlgorithmName () |
Protected Types | |
typedef TrapdoorFunction | TrapdoorFunctionInterface |
typedef PK_SignatureMessageEncodingMethod | MessageEncodingInterface |
Protected Member Functions | |
const TF_VerifierBase::MessageEncodingInterface & | GetMessageEncodingInterface () const |
const TrapdoorFunctionBounds & | GetTrapdoorFunctionBounds () const |
const TF_VerifierBase::TrapdoorFunctionInterface & | GetTrapdoorFunctionInterface () const |
HashIdentifier | GetHashIdentifier () const |
size_t | GetDigestSize () const |
size_t | MessageRepresentativeLength () const |
size_t | MessageRepresentativeBitLength () const |
DecodingResult TF_VerifierBase::RecoverAndRestart | ( | byte * | recoveredMessage, | |
PK_MessageAccumulator & | messageAccumulator | |||
) | const [virtual, inherited] |
recover a message from its signature
Implements PK_Verifier.
Definition at line 120 of file pubkey.cpp.
References PK_MessageAccumulatorBase::AccessHash(), HashTransformation::DigestSize(), PK_MessageAccumulatorBase::m_empty, PK_MessageAccumulatorBase::m_representative, TF_SignatureSchemeBase< PK_Verifier, TF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod > >::MessageRepresentativeBitLength(), PK_SignatureMessageEncodingMethod::MinRepresentativeBitLength(), and PK_SignatureMessageEncodingMethod::RecoverMessageFromRepresentative().
bool TF_SignatureSchemeBase< PK_Verifier , TF_Base< TrapdoorFunction, PK_SignatureMessageEncodingMethod > >::IsProbabilistic | ( | ) | const [inline, virtual, inherited] |
DecodingResult PK_Verifier::Recover | ( | byte * | recoveredMessage, | |
PK_MessageAccumulator * | messageAccumulator | |||
) | const [virtual, inherited] |
recover a message from its signature
Definition at line 685 of file cryptlib.cpp.
References PK_Verifier::RecoverAndRestart().
DecodingResult PK_Verifier::RecoverMessage | ( | byte * | recoveredMessage, | |
const byte * | nonrecoverableMessage, | |||
size_t | nonrecoverableMessageLength, | |||
const byte * | signature, | |||
size_t | signatureLength | |||
) | const [virtual, inherited] |
recover a message from its signature
Definition at line 691 of file cryptlib.cpp.
References PK_Verifier::InputSignature(), PK_Verifier::NewVerificationAccumulator(), and PK_Verifier::RecoverAndRestart().