Crypto++
5.6.3
Free C++ class library of cryptographic schemes
|
Interface for public-key signers. More...
Public Member Functions | |
virtual PK_MessageAccumulator * | NewSignatureAccumulator (RandomNumberGenerator &rng) const =0 |
create a new HashTransformation to accumulate the message to be signed | |
virtual void | InputRecoverableMessage (PK_MessageAccumulator &messageAccumulator, const byte *recoverableMessage, size_t recoverableMessageLength) const =0 |
virtual size_t | Sign (RandomNumberGenerator &rng, PK_MessageAccumulator *messageAccumulator, byte *signature) const |
sign and delete messageAccumulator (even in case of exception thrown) More... | |
virtual size_t | SignAndRestart (RandomNumberGenerator &rng, PK_MessageAccumulator &messageAccumulator, byte *signature, bool restart=true) const =0 |
sign and restart messageAccumulator More... | |
virtual size_t | SignMessage (RandomNumberGenerator &rng, const byte *message, size_t messageLen, byte *signature) const |
sign a message More... | |
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 More... | |
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 More... | |
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 | |
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 |
Provides the name of this algorithm. More... | |
virtual Clonable * | Clone () const |
Copies this object. More... | |
Interface for public-key signers.
Definition at line 2310 of file cryptlib.h.
|
virtual |
sign and delete messageAccumulator (even in case of exception thrown)
Definition at line 869 of file cryptlib.cpp.
|
pure virtual |
sign and restart messageAccumulator
Implemented in DL_SignerBase< T >, DL_SignerBase< SCHEME_OPTIONS::Element >, and TF_SignerBase.
|
virtual |
sign a message
Definition at line 875 of file cryptlib.cpp.
References HashTransformation::Update().
Referenced by FixedRNG::GenerateBlock().
|
virtual |
sign a recoverable message
Definition at line 882 of file cryptlib.cpp.
References HashTransformation::Update().
Referenced by FixedRNG::GenerateBlock().
|
pure virtualinherited |
requires a random number generator to sign
if this returns false, NullRNG() can be passed to functions that take RandomNumberGenerator &
|
inlinevirtualinherited |
Provides the name of this algorithm.
The standard algorithm name can be a name like AES or AES/GCM. Some algorithms do not have standard names yet. For example, there is no standard algorithm name for Shoup's ECIES.
Reimplemented in AuthenticatedSymmetricCipher, SignatureVerificationFilter, SignerFilter, AuthenticatedDecryptionFilter, HashVerificationFilter, HashFilter, StreamTransformationFilter, ClassNullRNG, BitBucket, RDSEED, DH_Domain< GROUP_PARAMETERS, COFACTOR_OPTION >, HMAC< T >, RDRAND, CRC32, GCM_Base, Adler32, EAX_Base, CCM_Base, SHA3, and VMAC_Base.
Definition at line 488 of file cryptlib.h.
Referenced by VariableRounds< 6, 2 >::StaticGetDefaultRounds().
|
inlinevirtualinherited |
Copies this object.
NotImplemented |
Definition at line 464 of file cryptlib.h.