#include <pubkey.h>
Inheritance diagram for DL_SignerImpl< SCHEME_OPTIONS >:
Definition at line 1322 of file pubkey.h.
Public Types | |
typedef SCHEME_OPTIONS::PrivateKey::Element | Element |
typedef SCHEME_OPTIONS | SchemeOptions |
Public Member Functions | |
PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const |
create a new HashTransformation to accumulate the message to be signed | |
PrivateKey & | AccessPrivateKey () |
PublicKey & | AccessPublicKey () |
const SCHEME_OPTIONS::PrivateKey & | GetKey () const |
SCHEME_OPTIONS::PrivateKey & | AccessKey () |
std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
void | RawSign (const Integer &k, const Integer &e, Integer &r, Integer &s) const |
void | InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const |
size_t | SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart) const |
sign and restart messageAccumulator | |
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 size_t | Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const |
sign and delete messageAccumulator (even in case of exception thrown) | |
virtual size_t | SignMessage (RandomNumberGenerator &rng, const byte *message, size_t messageLen, byte *signature) const |
sign a message | |
virtual size_t | SignMessageWithRecovery (RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, const byte *nonrecoverableMessage, size_t nonrecoverableMessageLength, byte *signature) const |
sign a recoverable message | |
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 | |
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 Clonable * | Clone () const |
this is not implemented by most classes yet | |
Static Public Member Functions | |
static std::string __cdecl | StaticAlgorithmName () |
Protected Types | |
typedef DL_PrivateKey< SCHEME_OPTIONS::Element > | KeyInterface |
Protected Member Functions | |
const DL_ElgamalLikeSignatureAlgorithm< Element > & | GetSignatureAlgorithm () const |
const DL_KeyAgreementAlgorithm< Element > & | GetKeyAgreementAlgorithm () const |
const DL_KeyDerivationAlgorithm< Element > & | GetKeyDerivationAlgorithm () const |
const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const |
HashIdentifier | GetHashIdentifier () const |
const PK_SignatureMessageEncodingMethod & | GetMessageEncodingInterface () const |
DL_SignerBase< SCHEME_OPTIONS::Element >::KeyInterface & | AccessKeyInterface () |
const DL_SignerBase< SCHEME_OPTIONS::Element >::KeyInterface & | GetKeyInterface () const |
size_t | GetDigestSize () const |
void | RestartMessageAccumulator (RandomNumberGenerator &rng, PK_MessageAccumulatorBase &ma) const |
size_t | MessageRepresentativeLength () const |
size_t | MessageRepresentativeBitLength () const |
const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const |
DL_GroupParameters< Element > & | AccessAbstractGroupParameters () |
size_t DL_SignerBase< SCHEME_OPTIONS::Element >::SignAndRestart | ( | RandomNumberGenerator & | rng, | |
PK_MessageAccumulator & | messageAccumulator, | |||
byte * | signature, | |||
bool | restart | |||
) | const [inline, virtual, inherited] |
sign and restart messageAccumulator
Implements PK_Signer.
Definition at line 1018 of file pubkey.h.
References PK_MessageAccumulatorBase::AccessHash(), Integer::Encode(), DL_Base< KEY_INTERFACE >::GetAbstractGroupParameters(), DL_PrivateKey< T >::GetPrivateExponent(), PK_MessageAccumulatorBase::m_empty, PK_MessageAccumulatorBase::m_k, PK_MessageAccumulatorBase::m_presignature, PK_MessageAccumulatorBase::m_recoverableMessage, PK_MessageAccumulatorBase::m_semisignature, DL_SignatureSchemeBase< INTERFACE, KEY_INTERFACE >::MessageRepresentativeBitLength(), DL_SignatureSchemeBase< INTERFACE, KEY_INTERFACE >::SignatureLength(), and SecBlock< T, A >::size().
bool DL_SignatureSchemeBase< PK_Signer , DL_PrivateKey< SCHEME_OPTIONS::Element > >::IsProbabilistic | ( | ) | const [inline, virtual, inherited] |
size_t PK_Signer::Sign | ( | RandomNumberGenerator & | rng, | |
PK_MessageAccumulator * | messageAccumulator, | |||
byte * | signature | |||
) | const [virtual, inherited] |
sign and delete messageAccumulator (even in case of exception thrown)
Definition at line 623 of file cryptlib.cpp.
References PK_Signer::SignAndRestart().
Referenced by SignerFilter::Put2().
size_t PK_Signer::SignMessage | ( | RandomNumberGenerator & | rng, | |
const byte * | message, | |||
size_t | messageLen, | |||
byte * | signature | |||
) | const [virtual, inherited] |
sign a message
Definition at line 629 of file cryptlib.cpp.
References PK_Signer::NewSignatureAccumulator(), and PK_Signer::SignAndRestart().
size_t PK_Signer::SignMessageWithRecovery | ( | RandomNumberGenerator & | rng, | |
const byte * | recoverableMessage, | |||
size_t | recoverableMessageLength, | |||
const byte * | nonrecoverableMessage, | |||
size_t | nonrecoverableMessageLength, | |||
byte * | signature | |||
) | const [virtual, inherited] |
sign a recoverable message
Definition at line 636 of file cryptlib.cpp.
References PK_Signer::NewSignatureAccumulator(), and PK_Signer::SignAndRestart().