18NAMESPACE_BEGIN(CryptoPP)
28 virtual bool AllowRecovery()
const =0;
29 virtual size_t SaltLen(
size_t hashLen)
const =0;
30 virtual size_t MinPadLen(
size_t hashLen)
const =0;
34 size_t MinRepresentativeBitLength(
size_t hashIdentifierLength,
size_t digestLength)
const;
35 size_t MaxRecoverableLength(
size_t representativeBitLength,
size_t hashIdentifierLength,
size_t digestLength)
const;
36 bool IsProbabilistic()
const;
37 bool AllowNonrecoverablePart()
const;
38 bool RecoverablePartFirst()
const;
40 const byte *recoverableMessage,
size_t recoverableMessageLength,
42 byte *representative,
size_t representativeBitLength)
const;
45 byte *representative,
size_t representativeBitLength,
46 byte *recoverableMessage)
const;
73template <
bool ALLOW_RECOVERY,
class MGF=
P1363_MGF1,
int SALT_LEN=-1,
int MIN_PAD_LEN=0,
bool USE_HASH_ID=
false>
76 virtual bool AllowRecovery()
const {
return ALLOW_RECOVERY;}
77 virtual size_t SaltLen(
size_t hashLen)
const {
return SALT_LEN < 0 ? hashLen : SALT_LEN;}
78 virtual size_t MinPadLen(
size_t hashLen)
const {
return MIN_PAD_LEN < 0 ? hashLen : MIN_PAD_LEN;}
82 static std::string CRYPTOPP_API StaticAlgorithmName() {
return std::string(ALLOW_RECOVERY ?
"PSSR-" :
"PSS-") + MGF::StaticAlgorithmName();}
Mask generation function interface.
P1363 mask generation function.
Interface for message encoding method for public key signature schemes.
PSSR Message Encoding Method interface.
PSSR Message Encoding Method with Hash Identifier.
PSSR Message Encoding Method.
Interface for random number generators.
Abstract base classes that provide a uniform interface to this library.
Classes and functions for various padding schemes used in public key algorithms.
This file contains helper classes/functions for implementing public key algorithms.
Classes for SHA-1 and SHA-2 family of message digests.
Returns a decoding results.
Probabilistic Signature Scheme with Appendix.
Probabilistic Signature Scheme with Recovery.
Base class for public key signature standard classes.