diff --git a/3way.h b/3way.h index 19068350..a0a41577 100644 --- a/3way.h +++ b/3way.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief ThreeWay block cipher information struct ThreeWay_Info : public FixedBlockSize<12>, public FixedKeyLength<12>, public VariableRounds<11> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "3-Way";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "3-Way";} }; //! \class ThreeWay diff --git a/adler32.h b/adler32.h index 3224ad99..e86650d0 100644 --- a/adler32.h +++ b/adler32.h @@ -20,7 +20,7 @@ public: void Update(const byte *input, size_t length); void TruncatedFinal(byte *hash, size_t size); unsigned int DigestSize() const {return DIGESTSIZE;} - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Adler32";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Adler32";} std::string AlgorithmName() const {return StaticAlgorithmName();} private: diff --git a/arc4.h b/arc4.h index 21268076..c2043572 100644 --- a/arc4.h +++ b/arc4.h @@ -24,7 +24,7 @@ class CRYPTOPP_NO_VTABLE ARC4_Base : public VariableKeyLength<16, 1, 256>, publi public: ~ARC4_Base(); - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "ARC4";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "ARC4";} void GenerateBlock(byte *output, size_t size); void DiscardBytes(size_t n); @@ -59,7 +59,7 @@ DOCUMENTED_TYPEDEF(SymmetricCipherFinal, ARC4) class CRYPTOPP_NO_VTABLE MARC4_Base : public ARC4_Base { public: - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MARC4";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "MARC4";} typedef SymmetricCipherFinal Encryption; typedef SymmetricCipherFinal Decryption; diff --git a/blake2.h b/blake2.h index 8743996f..e18569b2 100644 --- a/blake2.h +++ b/blake2.h @@ -41,7 +41,7 @@ struct BLAKE2_Info : public VariableKeyLength<(T_64bit ? 64 : 32),0,(T_64bit ? 6 CRYPTOPP_CONSTANT(SALTSIZE = (T_64bit ? 16 : 8)) CRYPTOPP_CONSTANT(PERSONALIZATIONSIZE = (T_64bit ? 16 : 8)) - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return (T_64bit ? "BLAKE2b" : "BLAKE2s");} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return (T_64bit ? "BLAKE2b" : "BLAKE2s");} }; //! \class BLAKE2_ParameterBlock @@ -180,7 +180,7 @@ public: //! \brief Retrieve the static algorithm name //! \returns the algorithm name (BLAKE2s or BLAKE2b) - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return BLAKE2_Info::StaticAlgorithmName();} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return BLAKE2_Info::StaticAlgorithmName();} //! \brief Retrieve the object's name //! \returns the object's algorithm name following RFC 7693 diff --git a/blowfish.h b/blowfish.h index 740fd375..f61ceafd 100644 --- a/blowfish.h +++ b/blowfish.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Blowfish block cipher information struct Blowfish_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4, 56>, public FixedRounds<16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Blowfish";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Blowfish";} }; // Blowfish diff --git a/camellia.h b/camellia.h index 9fa9e3b4..94c7edc1 100644 --- a/camellia.h +++ b/camellia.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Camellia block cipher information struct Camellia_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Camellia";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Camellia";} }; //! \class Camellia diff --git a/cast.h b/cast.h index 2e212897..5b21e69e 100644 --- a/cast.h +++ b/cast.h @@ -23,7 +23,7 @@ protected: //! \brief CAST128 block cipher information struct CAST128_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 5, 16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "CAST-128";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "CAST-128";} }; //! \class CAST128 @@ -68,7 +68,7 @@ public: //! \brief CAST256 block cipher information struct CAST256_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 4> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "CAST-256";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "CAST-256";} }; //! \class CAST256 diff --git a/chacha.h b/chacha.h index a126b563..4c93dbcc 100644 --- a/chacha.h +++ b/chacha.h @@ -25,7 +25,7 @@ NAMESPACE_BEGIN(CryptoPP) template struct ChaCha_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8>, public FixedRounds { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() { + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() { return (R==8?"ChaCha8":(R==12?"ChaCha12":(R==20?"ChaCha20":"ChaCha"))); } }; diff --git a/config.compat b/config.compat index 5ac7cfe1..65945d73 100644 --- a/config.compat +++ b/config.compat @@ -936,6 +936,7 @@ NAMESPACE_END #endif // CRYPTOPP_CXX11_ALIGNAS // Hack... CRYPTOPP_CONSTANT is defined earlier, before C++11 constexpr availability is determined +// http://stackoverflow.com/q/35213098/608639 #if defined(CRYPTOPP_CXX11_CONSTEXPR) # undef CRYPTOPP_CONSTANT # define CRYPTOPP_CONSTANT(x) constexpr static int x; diff --git a/config.h b/config.h index a72583fc..64d77f8e 100644 --- a/config.h +++ b/config.h @@ -936,6 +936,7 @@ NAMESPACE_END #endif // CRYPTOPP_CXX11_ALIGNAS // Hack... CRYPTOPP_CONSTANT is defined earlier, before C++11 constexpr availability is determined +// http://stackoverflow.com/q/35213098/608639 #if defined(CRYPTOPP_CXX11_CONSTEXPR) # undef CRYPTOPP_CONSTANT # define CRYPTOPP_CONSTANT(x) constexpr static int x; diff --git a/crc.h b/crc.h index b1f5a34c..5becb547 100644 --- a/crc.h +++ b/crc.h @@ -31,7 +31,7 @@ public: void Update(const byte *input, size_t length); void TruncatedFinal(byte *hash, size_t size); unsigned int DigestSize() const {return DIGESTSIZE;} - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "CRC32";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "CRC32";} std::string AlgorithmName() const {return StaticAlgorithmName();} void UpdateByte(byte b) {m_crc = m_tab[CRC32_INDEX(m_crc) ^ b] ^ CRC32_SHIFTED(m_crc);} @@ -56,7 +56,7 @@ public: void Update(const byte *input, size_t length); void TruncatedFinal(byte *hash, size_t size); unsigned int DigestSize() const {return DIGESTSIZE;} - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "CRC32C";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "CRC32C";} std::string AlgorithmName() const {return StaticAlgorithmName();} void UpdateByte(byte b) {m_crc = m_tab[CRC32_INDEX(m_crc) ^ b] ^ CRC32_SHIFTED(m_crc);} diff --git a/des.h b/des.h index 0b621b1d..80962738 100644 --- a/des.h +++ b/des.h @@ -30,7 +30,7 @@ protected: struct DES_Info : public FixedBlockSize<8>, public FixedKeyLength<8> { // disable DES in DLL version by not exporting this function - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "DES";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "DES";} }; //! \class DES @@ -125,7 +125,7 @@ public: //! \brief DESX block cipher information struct DES_XEX3_Info : public FixedBlockSize<8>, public FixedKeyLength<24> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "DES-XEX3";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "DES-XEX3";} }; //! \class DES_XEX3 diff --git a/eccrypto.h b/eccrypto.h index 47be169d..b3157d1e 100644 --- a/eccrypto.h +++ b/eccrypto.h @@ -309,7 +309,7 @@ template class DL_Algorithm_ECDSA : public DL_Algorithm_GDSA { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_ECDSA() {} @@ -323,7 +323,7 @@ template class DL_Algorithm_ECNR : public DL_Algorithm_NR { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECNR";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "ECNR";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_ECNR() {} diff --git a/elgamal.h b/elgamal.h index 934256a8..770ac2c5 100644 --- a/elgamal.h +++ b/elgamal.h @@ -138,7 +138,7 @@ struct ElGamal { typedef DL_CryptoSchemeOptions SchemeOptions; - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "ElgamalEnc/Crypto++Padding";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "ElgamalEnc/Crypto++Padding";} typedef SchemeOptions::GroupParameters GroupParameters; //! implements PK_Encryptor interface diff --git a/emsa2.h b/emsa2.h index c7bf22e4..7e53002d 100644 --- a/emsa2.h +++ b/emsa2.h @@ -61,7 +61,7 @@ CRYPTOPP_DLL_TEMPLATE_CLASS EMSA2HashId; class CRYPTOPP_DLL EMSA2Pad : public EMSA2HashIdLookup { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA2";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "EMSA2";} size_t MinRepresentativeBitLength(size_t hashIdentifierLength, size_t digestLength) const {CRYPTOPP_UNUSED(hashIdentifierLength); return 8*digestLength + 31;} diff --git a/esign.h b/esign.h index 99700ed0..9cc0479c 100644 --- a/esign.h +++ b/esign.h @@ -98,7 +98,7 @@ template class EMSA5Pad : public PK_DeterministicSignatureMessageEncodingMethod { public: - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "EMSA5";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "EMSA5";} void ComputeMessageRepresentative(RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, diff --git a/gf2n.cpp b/gf2n.cpp index 9bcf4ef1..99380e13 100644 --- a/gf2n.cpp +++ b/gf2n.cpp @@ -497,7 +497,7 @@ std::ostream& operator<<(std::ostream& out, const PolynomialMod2 &a) static const char upper[]="0123456789ABCDEF"; static const char lower[]="0123456789abcdef"; - const char* vec = (out.flags() & std::ios::uppercase) ? upper : lower; + const char* const vec = (out.flags() & std::ios::uppercase) ? upper : lower; for (i=0; i*bits < a.BitCount(); i++) { diff --git a/gfpcrypt.h b/gfpcrypt.h index 04a5a1ef..2c5ba237 100644 --- a/gfpcrypt.h +++ b/gfpcrypt.h @@ -196,7 +196,7 @@ template class DL_Algorithm_GDSA : public DL_ElgamalLikeSignatureAlgorithm { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "DSA-1363";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "DSA-1363";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_GDSA() {} @@ -234,7 +234,7 @@ template class DL_Algorithm_NR : public DL_ElgamalLikeSignatureAlgorithm { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "NR";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "NR";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_NR() {} diff --git a/gost.h b/gost.h index 5a6e441d..e4f1070c 100644 --- a/gost.h +++ b/gost.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief GOST block cipher information struct GOST_Info : public FixedBlockSize<8>, public FixedKeyLength<32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "GOST";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "GOST";} }; //! \class GOST diff --git a/idea.h b/idea.h index dc1981b8..0ad5663e 100644 --- a/idea.h +++ b/idea.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \since Crypto++ 1.0 struct IDEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public FixedRounds<8> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "IDEA";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "IDEA";} }; //! \class IDEA diff --git a/keccak.h b/keccak.h index e8cabed3..f29ae4f2 100644 --- a/keccak.h +++ b/keccak.h @@ -50,7 +50,7 @@ public: Keccak(unsigned int digestSize) : m_digestSize(digestSize) {Restart();} unsigned int DigestSize() const {return m_digestSize;} std::string AlgorithmName() const {return "Keccak-" + IntToString(m_digestSize*8);} - CRYPTOPP_CONSTEXPR static const char* StaticAlgorithmName() { return "Keccak"; } + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() { return "Keccak"; } unsigned int OptimalDataAlignment() const {return GetAlignmentOf();} void Update(const byte *input, size_t length); diff --git a/luc.h b/luc.h index 45be09cf..d2d7cb3a 100644 --- a/luc.h +++ b/luc.h @@ -232,7 +232,7 @@ protected: class DL_Algorithm_LUC_HMP : public DL_ElgamalLikeSignatureAlgorithm { public: - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "LUC-HMP";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "LUC-HMP";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const; bool Verify(const DL_GroupParameters ¶ms, const DL_PublicKey &publicKey, const Integer &e, const Integer &r, const Integer &s) const; diff --git a/mars.h b/mars.h index 0e41cd16..2ebe1548 100644 --- a/mars.h +++ b/mars.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief MARS block cipher information struct MARS_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 56, 8> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MARS";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "MARS";} }; //! \class MARS diff --git a/md2.h b/md2.h index 296c523d..5e3e2ff8 100644 --- a/md2.h +++ b/md2.h @@ -17,7 +17,7 @@ public: void TruncatedFinal(byte *hash, size_t size); unsigned int DigestSize() const {return DIGESTSIZE;} unsigned int BlockSize() const {return BLOCKSIZE;} - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MD2";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "MD2";} CRYPTOPP_CONSTANT(DIGESTSIZE = 16) CRYPTOPP_CONSTANT(BLOCKSIZE = 16) diff --git a/md4.h b/md4.h index bf6a4f68..2908bd13 100644 --- a/md4.h +++ b/md4.h @@ -15,7 +15,7 @@ class MD4 : public IteratedHashWithStaticTransformOptimalNumberOfParallelBlocks();} void ProcessData(byte *outString, const byte *inString, size_t length); - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECB";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "ECB";} }; //! \class CBC_ModeBase @@ -227,7 +227,7 @@ public: IV_Requirement IVRequirement() const {return UNPREDICTABLE_RANDOM_IV;} bool RequireAlignedInput() const {return false;} unsigned int MinLastBlockSize() const {return 0;} - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "CBC";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "CBC";} }; //! \class CBC_Encryption @@ -246,7 +246,7 @@ public: void SetStolenIV(byte *iv) {m_stolenIV = iv;} unsigned int MinLastBlockSize() const {return BlockSize()+1;} void ProcessLastBlock(byte *outString, const byte *inString, size_t length); - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "CBC/CTS";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "CBC/CTS";} protected: void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms) diff --git a/panama.h b/panama.h index 8276c7d5..5381f1e3 100644 --- a/panama.h +++ b/panama.h @@ -44,7 +44,7 @@ public: PanamaHash() {Panama::Reset();} unsigned int DigestSize() const {return DIGESTSIZE;} void TruncatedFinal(byte *hash, size_t size); - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} protected: void Init() {Panama::Reset();} @@ -128,7 +128,7 @@ public: template struct PanamaCipherInfo : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} }; //! \class PanamaCipherPolicy diff --git a/pkcspad.h b/pkcspad.h index a31548da..411cbb4e 100644 --- a/pkcspad.h +++ b/pkcspad.h @@ -22,7 +22,7 @@ NAMESPACE_BEGIN(CryptoPP) class PKCS_EncryptionPaddingScheme : public PK_EncryptionMessageEncodingMethod { public: - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "EME-PKCS1-v1_5";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "EME-PKCS1-v1_5";} size_t MaxUnpaddedLength(size_t paddedLength) const; void Pad(RandomNumberGenerator &rng, const byte *raw, size_t inputLength, byte *padded, size_t paddedLength, const NameValuePairs ¶meters) const; @@ -67,7 +67,7 @@ CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration; class CRYPTOPP_DLL PKCS1v15_SignatureMessageEncodingMethod : public PK_DeterministicSignatureMessageEncodingMethod { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA-PKCS1-v1_5";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "EMSA-PKCS1-v1_5";} size_t MinRepresentativeBitLength(size_t hashIdentifierSize, size_t digestSize) const {return 8 * (digestSize + hashIdentifierSize + 10);} diff --git a/pubkey.h b/pubkey.h index 9a89d388..57f0f8a4 100644 --- a/pubkey.h +++ b/pubkey.h @@ -719,7 +719,7 @@ CRYPTOPP_DLL void CRYPTOPP_API P1363_MGF1KDF2_Common(HashTransformation &hash, b class P1363_MGF1 : public MaskGeneratingFunction { public: - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "MGF1";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "MGF1";} void GenerateAndMask(HashTransformation &hash, byte *output, size_t outputLength, const byte *input, size_t inputLength, bool mask = true) const { P1363_MGF1KDF2_Common(hash, output, outputLength, input, inputLength, NULL, 0, mask, 0); @@ -1986,7 +1986,7 @@ public: virtual ~DL_KeyAgreementAlgorithm_DH() {} #endif - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return COFACTOR_OPTION::ToEnum() == INCOMPATIBLE_COFACTOR_MULTIPLICTION ? "DHC" : "DH";} Element AgreeWithEphemeralPrivateKey(const DL_GroupParameters ¶ms, const DL_FixedBasePrecomputation &publicPrecomputation, const Integer &privateExponent) const diff --git a/rc2.h b/rc2.h index 760d665b..c219c0b0 100644 --- a/rc2.h +++ b/rc2.h @@ -18,7 +18,7 @@ struct RC2_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 1, 128> { CRYPTOPP_CONSTANT(DEFAULT_EFFECTIVE_KEYLENGTH = 1024) CRYPTOPP_CONSTANT(MAX_EFFECTIVE_KEYLENGTH = 1024) - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC2";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "RC2";} }; //! \class RC2 diff --git a/rc5.h b/rc5.h index feab5fbd..28594ee1 100644 --- a/rc5.h +++ b/rc5.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \since Crypto++ 1.0 struct RC5_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 0, 255>, public VariableRounds<16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC5";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "RC5";} typedef word32 RC5_WORD; }; diff --git a/rc6.h b/rc6.h index 5b84a0bd..e4610782 100644 --- a/rc6.h +++ b/rc6.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief RC6 block cipher information struct RC6_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, public VariableRounds<20> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC6";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "RC6";} typedef word32 RC6_WORD; }; diff --git a/ripemd.h b/ripemd.h index fc633f03..7530976d 100644 --- a/ripemd.h +++ b/ripemd.h @@ -19,7 +19,7 @@ class RIPEMD160 : public IteratedHashWithStaticTransform //! \since Crypto++ 1.0 struct CRYPTOPP_DLL RSA_ISO { - CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "RSA-ISO";} + CRYPTOPP_STATIC_CONSTEXPR char* const CRYPTOPP_API StaticAlgorithmName() {return "RSA-ISO";} typedef RSAFunction_ISO PublicKey; typedef InvertibleRSAFunction_ISO PrivateKey; }; diff --git a/safer.h b/safer.h index 6be48474..ecb70c57 100644 --- a/safer.h +++ b/safer.h @@ -66,7 +66,7 @@ protected: //! \brief SAFER-K block cipher information struct SAFER_K_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 8, 16, 8>, public VariableRounds<10, 1, 13> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SAFER-K";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "SAFER-K";} }; //! \class SAFER_K @@ -83,7 +83,7 @@ public: //! \brief SAFER-SK block cipher information struct SAFER_SK_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 8, 16, 8>, public VariableRounds<10, 1, 13> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SAFER-SK";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "SAFER-SK";} }; //! \class SAFER_SK diff --git a/salsa.h b/salsa.h index 623b36f7..9a55fda2 100644 --- a/salsa.h +++ b/salsa.h @@ -22,7 +22,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Salsa20 stream cipher information struct Salsa20_Info : public VariableKeyLength<32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Salsa20";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Salsa20";} }; //! \class Salsa20_Policy @@ -58,7 +58,7 @@ struct Salsa20 : public Salsa20_Info, public SymmetricCipherDocumentation //! \brief XSalsa20 stream cipher information struct XSalsa20_Info : public FixedKeyLength<32, SimpleKeyingInterface::UNIQUE_IV, 24> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "XSalsa20";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "XSalsa20";} }; //! \class XSalsa20_Policy diff --git a/seal.h b/seal.h index 92e0321e..4d87c45e 100644 --- a/seal.h +++ b/seal.h @@ -17,7 +17,7 @@ NAMESPACE_BEGIN(CryptoPP) template struct SEAL_Info : public FixedKeyLength<20, SimpleKeyingInterface::INTERNALLY_GENERATED_IV, 4> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "SEAL-3.0-LE" : "SEAL-3.0-BE";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "SEAL-3.0-LE" : "SEAL-3.0-BE";} }; //! \class SEAL_Policy diff --git a/seckey.h b/seckey.h index 468f8b55..86dd5a0a 100644 --- a/seckey.h +++ b/seckey.h @@ -70,7 +70,7 @@ public: //! provided by a static function. //! \param keylength the size of the key, in bytes //! \details keylength is unused in the default implementation. - CRYPTOPP_CONSTEXPR static unsigned int StaticGetDefaultRounds(size_t keylength) + CRYPTOPP_STATIC_CONSTEXPR unsigned int StaticGetDefaultRounds(size_t keylength) { // Comma operator breaks Debug builds with GCC 4.0 - 4.6. // Also see http://github.com/weidai11/cryptopp/issues/255 @@ -151,7 +151,7 @@ public: //! \param keylength the size of the key, in bytes //! \details The default implementation returns KEYLENGTH. keylength is unused //! in the default implementation. - CRYPTOPP_CONSTEXPR static size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) + CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) { // Comma operator breaks Debug builds with GCC 4.0 - 4.6. // Also see http://github.com/weidai11/cryptopp/issues/255 @@ -261,7 +261,7 @@ public: //! then keylength is returned. Otherwise, the function returns keylength rounded //! \a down to the next smaller multiple of KEYLENGTH_MULTIPLE. //! \details keylength is provided in bytes, not bits. - CRYPTOPP_CONSTEXPR static size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) + CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength(size_t keylength) {return T::StaticGetValidKeyLength(keylength);} }; diff --git a/seed.h b/seed.h index f5fd3ca8..9daa3fee 100644 --- a/seed.h +++ b/seed.h @@ -17,7 +17,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \since Crypto++ 5.6.0 struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SEED";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "SEED";} }; //! \class SEED diff --git a/serpent.h b/serpent.h index 501ef0a9..9fb398f0 100644 --- a/serpent.h +++ b/serpent.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Serpent block cipher information struct Serpent_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, public FixedRounds<32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Serpent";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Serpent";} }; //! \class Serpent diff --git a/sha.h b/sha.h index f22d0cff..008c9b37 100644 --- a/sha.h +++ b/sha.h @@ -27,7 +27,7 @@ class CRYPTOPP_DLL SHA1 : public IteratedHashWithStaticTransform();} void Update(const byte *input, size_t length); diff --git a/shacal2.h b/shacal2.h index 97167fb9..34c07cbb 100644 --- a/shacal2.h +++ b/shacal2.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief SHACAL2 block cipher information struct SHACAL2_Info : public FixedBlockSize<32>, public VariableKeyLength<16, 16, 64> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SHACAL-2";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "SHACAL-2";} }; //! \class SHACAL2 diff --git a/shark.h b/shark.h index dbb79a6d..2caf21ce 100644 --- a/shark.h +++ b/shark.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief SHARK block cipher information struct SHARK_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<6, 2> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SHARK-E";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "SHARK-E";} }; //! \class SHARK diff --git a/sosemanuk.h b/sosemanuk.h index 972e6935..85796628 100644 --- a/sosemanuk.h +++ b/sosemanuk.h @@ -23,7 +23,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \since Crypto++ 5.5 struct SosemanukInfo : public VariableKeyLength<16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Sosemanuk";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Sosemanuk";} }; //! \class SosemanukPolicy diff --git a/square.h b/square.h index 1c5c5498..5bb22f78 100644 --- a/square.h +++ b/square.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Square block cipher information struct Square_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, FixedRounds<8> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Square";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Square";} }; //! \class Square diff --git a/tea.h b/tea.h index a019326b..029af0fd 100644 --- a/tea.h +++ b/tea.h @@ -16,7 +16,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief TEA block cipher information struct TEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "TEA";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "TEA";} }; //! \class TEA @@ -64,7 +64,7 @@ typedef TEA::Decryption TEADecryption; //! \brief XTEA block cipher information struct XTEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public VariableRounds<32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "XTEA";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "XTEA";} }; //! \class XTEA @@ -109,7 +109,7 @@ public: //! \brief BTEA block cipher information struct BTEA_Info : public FixedKeyLength<16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "BTEA";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "BTEA";} }; //! \class BTEA diff --git a/tiger.h b/tiger.h index 71e5964b..3e220bf3 100644 --- a/tiger.h +++ b/tiger.h @@ -19,7 +19,7 @@ public: static void InitState(HashWordType *state); static void Transform(word64 *digest, const word64 *data); void TruncatedFinal(byte *hash, size_t size); - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Tiger";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Tiger";} protected: static const word64 table[4*256+3]; diff --git a/twofish.h b/twofish.h index 99c31374..29041787 100644 --- a/twofish.h +++ b/twofish.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief Twofish block cipher information struct Twofish_Info : public FixedBlockSize<16>, public VariableKeyLength<16, 16, 32, 8>, FixedRounds<16> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Twofish";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Twofish";} }; //! \class Twofish diff --git a/wake.h b/wake.h index 14c38140..a5288290 100644 --- a/wake.h +++ b/wake.h @@ -19,7 +19,7 @@ NAMESPACE_BEGIN(CryptoPP) template struct WAKE_OFB_Info : public FixedKeyLength<32> { - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "WAKE-OFB-LE" : "WAKE-OFB-BE";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "WAKE-OFB-LE" : "WAKE-OFB-BE";} }; class CRYPTOPP_NO_VTABLE WAKE_Base diff --git a/whrlpool.h b/whrlpool.h index 58dbf22d..d4d9c9e4 100644 --- a/whrlpool.h +++ b/whrlpool.h @@ -13,7 +13,7 @@ public: static void InitState(HashWordType *state); static void Transform(word64 *digest, const word64 *data); void TruncatedFinal(byte *hash, size_t size); - CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Whirlpool";} + CRYPTOPP_STATIC_CONSTEXPR char* const StaticAlgorithmName() {return "Whirlpool";} }; NAMESPACE_END