7 #ifndef CRYPTOPP_PSSR_H 8 #define CRYPTOPP_PSSR_H 14 #ifdef CRYPTOPP_IS_DLL 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;
73 template <
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();}
Classes and functions for various padding schemes used in public key algorithms.
This file contains helper classes/functions for implementing public key algorithms.
Abstract base classes that provide a uniform interface to this library.
Interface for random number generators.
PSSR Message Encoding Method interface.
Base class for public key signature standard classes.
Returns a decoding results.
P1363 mask generation function.
PSSR Message Encoding Method with Hash Identifier.
Mask generation function interface.
Classes for SHA-1 and SHA-2 family of message digests.
Probabilistic Signature Scheme with Recovery.
Crypto++ library namespace.
PSSR Message Encoding Method.
Interface for message encoding method for public key signature schemes.
Probabilistic Signature Scheme with Appendix.