summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--misc.cpp1
-rw-r--r--pssr.cpp5
-rw-r--r--pssr.h5
-rw-r--r--rw.h2
-rw-r--r--seckey.h12
5 files changed, 18 insertions, 7 deletions
diff --git a/misc.cpp b/misc.cpp
index 825b446..f80cff6 100644
--- a/misc.cpp
+++ b/misc.cpp
@@ -78,6 +78,7 @@ unsigned long Crop(unsigned long value, unsigned int size)
#if !(defined(_MSC_VER) && (_MSC_VER < 1300))
using std::new_handler;
+using std::set_new_handler;
#endif
void CallNewHandler()
diff --git a/pssr.cpp b/pssr.cpp
index 5dc959a..2589b14 100644
--- a/pssr.cpp
+++ b/pssr.cpp
@@ -7,6 +7,11 @@ NAMESPACE_BEGIN(CryptoPP)
template<> const byte EMSA2HashId<SHA>::id = 0x33;
template<> const byte EMSA2HashId<RIPEMD160>::id = 0x31;
+template<> const byte EMSA2HashId<RIPEMD128>::id = 0x32;
+template<> const byte EMSA2HashId<SHA256>::id = 0x34;
+template<> const byte EMSA2HashId<SHA384>::id = 0x36;
+template<> const byte EMSA2HashId<SHA512>::id = 0x35;
+template<> const byte EMSA2HashId<Whirlpool>::id = 0x37;
unsigned int PSSR_MEM_Base::MaxRecoverableLength(unsigned int representativeBitLength, unsigned int hashIdentifierLength, unsigned int digestLength) const
{
diff --git a/pssr.h b/pssr.h
index 4ba2950..0bdf315 100644
--- a/pssr.h
+++ b/pssr.h
@@ -36,6 +36,11 @@ template <class H> struct EMSA2HashId
// EMSA2HashId can be instantiated with the following two classes.
class SHA;
class RIPEMD160;
+class RIPEMD128;
+class SHA256;
+class SHA384;
+class SHA512;
+class Whirlpool;
template <class BASE>
class EMSA2HashIdLookup : public BASE
diff --git a/rw.h b/rw.h
index 71e7009..f341d5f 100644
--- a/rw.h
+++ b/rw.h
@@ -89,7 +89,7 @@ public:
};
//! EMSA2, for use with RW
-/*! The following hash functions are supported: SHA, RIPEMD160. */
+/*! See pssr.h for a list of hash functions supported by this signature standard. */
struct P1363_EMSA2 : public SignatureStandard
{
typedef EMSA2Pad SignatureMessageEncodingMethod;
diff --git a/seckey.h b/seckey.h
index e00fa89..05d3699 100644
--- a/seckey.h
+++ b/seckey.h
@@ -18,7 +18,7 @@ inline CipherDir ReverseCipherDir(CipherDir dir)
//! .
template <unsigned int N>
-class CRYPTOPP_DLL FixedBlockSize
+class FixedBlockSize
{
public:
enum {BLOCKSIZE = N};
@@ -28,7 +28,7 @@ public:
//! .
template <unsigned int R>
-class CRYPTOPP_DLL FixedRounds
+class FixedRounds
{
public:
enum {ROUNDS = R};
@@ -47,7 +47,7 @@ protected:
//! .
template <unsigned int D, unsigned int N=1, unsigned int M=INT_MAX> // use INT_MAX here because enums are treated as signed ints
-class CRYPTOPP_DLL VariableRounds
+class VariableRounds
{
public:
enum {DEFAULT_ROUNDS = D, MIN_ROUNDS = N, MAX_ROUNDS = M};
@@ -74,7 +74,7 @@ protected:
//! .
template <unsigned int N, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE>
-class CRYPTOPP_DLL FixedKeyLength
+class FixedKeyLength
{
public:
enum {KEYLENGTH=N, MIN_KEYLENGTH=N, MAX_KEYLENGTH=N, DEFAULT_KEYLENGTH=N};
@@ -84,7 +84,7 @@ public:
/// support query of variable key length, template parameters are default, min, max, multiple (default multiple 1)
template <unsigned int D, unsigned int N, unsigned int M, unsigned int Q = 1, unsigned int IV_REQ = SimpleKeyingInterface::NOT_RESYNCHRONIZABLE>
-class CRYPTOPP_DLL VariableKeyLength
+class VariableKeyLength
{
// make these private to avoid Doxygen documenting them in all derived classes
CRYPTOPP_COMPILE_ASSERT(Q > 0);
@@ -112,7 +112,7 @@ public:
/// support query of key length that's the same as another class
template <class T>
-class CRYPTOPP_DLL SameKeyLengthAs
+class SameKeyLengthAs
{
public:
enum {MIN_KEYLENGTH=T::MIN_KEYLENGTH, MAX_KEYLENGTH=T::MAX_KEYLENGTH, DEFAULT_KEYLENGTH=T::DEFAULT_KEYLENGTH};