From c1556295e60e435883c6976aeaf1a2be6606c738 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Wed, 7 Sep 2016 06:16:46 -0400 Subject: [PATCH] Add constexpr-ness to StaticAlgorithmName member function --- 3way.h | 2 +- adler32.h | 4 ++-- arc4.h | 6 +++--- blake2.h | 4 ++-- blowfish.h | 2 +- camellia.h | 2 +- cast.h | 4 ++-- crc.h | 4 ++-- des.h | 4 ++-- eccrypto.h | 4 ++-- elgamal.h | 8 ++++---- emsa2.h | 2 +- esign.h | 6 +++--- gfpcrypt.h | 4 ++-- gost.h | 2 +- idea.h | 2 +- luc.h | 14 +++++++------- mars.h | 2 +- md2.h | 2 +- md4.h | 2 +- md5.h | 2 +- mersenne.h | 34 +++++++++++++++++----------------- modes.h | 12 ++++++------ panama.h | 4 ++-- pkcspad.h | 6 +++--- pubkey.h | 4 ++-- rc2.h | 2 +- rc5.h | 2 +- rc6.h | 2 +- ripemd.h | 8 ++++---- rsa.h | 4 ++-- safer.h | 4 ++-- salsa.h | 4 ++-- seal.h | 2 +- seed.h | 2 +- serpent.h | 2 +- sha.h | 10 +++++----- sha3.h | 8 ++++---- shacal2.h | 2 +- shark.h | 2 +- sosemanuk.h | 2 +- square.h | 2 +- tea.h | 6 +++--- tiger.h | 2 +- twofish.h | 2 +- wake.h | 2 +- whrlpool.h | 2 +- 47 files changed, 107 insertions(+), 107 deletions(-) diff --git a/3way.h b/3way.h index 16affa6c..19068350 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> { - static const char *StaticAlgorithmName() {return "3-Way";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "3-Way";} }; //! \class ThreeWay diff --git a/adler32.h b/adler32.h index e8caa897..3224ad99 100644 --- a/adler32.h +++ b/adler32.h @@ -11,7 +11,7 @@ NAMESPACE_BEGIN(CryptoPP) -//! ADLER-32 checksum calculations +//! ADLER-32 checksum calculations class Adler32 : public HashTransformation { public: @@ -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;} - static const char * StaticAlgorithmName() {return "Adler32";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Adler32";} std::string AlgorithmName() const {return StaticAlgorithmName();} private: diff --git a/arc4.h b/arc4.h index 2b46af02..6c02524c 100644 --- a/arc4.h +++ b/arc4.h @@ -23,13 +23,13 @@ class CRYPTOPP_NO_VTABLE ARC4_Base : public VariableKeyLength<16, 1, 256>, publi public: ~ARC4_Base(); - static const char *StaticAlgorithmName() {return "ARC4";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "ARC4";} void GenerateBlock(byte *output, size_t size); void DiscardBytes(size_t n); void ProcessData(byte *outString, const byte *inString, size_t length); - + bool IsRandomAccess() const {return false;} bool IsSelfInverting() const {return true;} bool IsForwardTransformation() const {return true;} @@ -55,7 +55,7 @@ DOCUMENTED_TYPEDEF(SymmetricCipherFinal, ARC4) class CRYPTOPP_NO_VTABLE MARC4_Base : public ARC4_Base { public: - static const char *StaticAlgorithmName() {return "MARC4";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MARC4";} typedef SymmetricCipherFinal Encryption; typedef SymmetricCipherFinal Decryption; diff --git a/blake2.h b/blake2.h index 0bbee89a..ef7819df 100644 --- a/blake2.h +++ b/blake2.h @@ -39,7 +39,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)) - static const char *StaticAlgorithmName() {return (T_64bit ? "BLAKE2b" : "BLAKE2s");} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return (T_64bit ? "BLAKE2b" : "BLAKE2s");} }; //! \class BLAKE2_ParameterBlock @@ -175,7 +175,7 @@ public: //! \brief Retrieve the static algorithm name //! \returns the algorithm name (BLAKE2s or BLAKE2b) - static const char *StaticAlgorithmName() {return BLAKE2_Info::StaticAlgorithmName();} + CRYPTOPP_CONSTEXPR static const char *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 41497a66..dc770c9e 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> { - static const char *StaticAlgorithmName() {return "Blowfish";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Blowfish";} }; // Blowfish diff --git a/camellia.h b/camellia.h index b6c4535d..9fa9e3b4 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> { - static const char *StaticAlgorithmName() {return "Camellia";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Camellia";} }; //! \class Camellia diff --git a/cast.h b/cast.h index 52ae53c9..2e212897 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> { - static const char *StaticAlgorithmName() {return "CAST-128";} + CRYPTOPP_CONSTEXPR static const char *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> { - static const char *StaticAlgorithmName() {return "CAST-256";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "CAST-256";} }; //! \class CAST256 diff --git a/crc.h b/crc.h index 89b68629..44e0e2f7 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;} - static const char * StaticAlgorithmName() {return "CRC32";} + CRYPTOPP_CONSTEXPR static const char *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);} @@ -55,7 +55,7 @@ public: void Update(const byte *input, size_t length); void TruncatedFinal(byte *hash, size_t size); unsigned int DigestSize() const {return DIGESTSIZE;} - static const char * StaticAlgorithmName() {return "CRC32C";} + CRYPTOPP_CONSTEXPR static const char *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 5ada3513..3e686dc0 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 - static const char * StaticAlgorithmName() {return "DES";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "DES";} }; //! \class DES @@ -122,7 +122,7 @@ public: //! \brief DESX block cipher information struct DES_XEX3_Info : public FixedBlockSize<8>, public FixedKeyLength<24> { - static const char *StaticAlgorithmName() {return "DES-XEX3";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "DES-XEX3";} }; //! \class DES_XEX3 diff --git a/eccrypto.h b/eccrypto.h index cba037fb..18572b7b 100644 --- a/eccrypto.h +++ b/eccrypto.h @@ -245,7 +245,7 @@ template class DL_Algorithm_ECDSA : public DL_Algorithm_GDSA { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECDSA";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_ECDSA() {} @@ -257,7 +257,7 @@ template class DL_Algorithm_ECNR : public DL_Algorithm_NR { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECNR";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECNR";} #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_ECNR() {} diff --git a/elgamal.h b/elgamal.h index 4e7ef7f0..93eccd7f 100644 --- a/elgamal.h +++ b/elgamal.h @@ -16,8 +16,8 @@ NAMESPACE_BEGIN(CryptoPP) -class CRYPTOPP_NO_VTABLE ElGamalBase : public DL_KeyAgreementAlgorithm_DH, - public DL_KeyDerivationAlgorithm, +class CRYPTOPP_NO_VTABLE ElGamalBase : public DL_KeyAgreementAlgorithm_DH, + public DL_KeyDerivationAlgorithm, public DL_SymmetricEncryptionAlgorithm { public: @@ -86,7 +86,7 @@ public: } virtual const DL_GroupParameters_GFP & GetGroupParameters() const =0; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~ElGamalBase() {} #endif @@ -127,7 +127,7 @@ struct ElGamal { typedef DL_CryptoSchemeOptions SchemeOptions; - static const char * StaticAlgorithmName() {return "ElgamalEnc/Crypto++Padding";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "ElgamalEnc/Crypto++Padding";} typedef SchemeOptions::GroupParameters GroupParameters; //! implements PK_Encryptor interface diff --git a/emsa2.h b/emsa2.h index 3f3e2c17..7c376e4a 100644 --- a/emsa2.h +++ b/emsa2.h @@ -61,7 +61,7 @@ CRYPTOPP_DLL_TEMPLATE_CLASS EMSA2HashId; class CRYPTOPP_DLL EMSA2Pad : public EMSA2HashIdLookup { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA2";} + CRYPTOPP_CONSTEXPR static const char * 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 e9969d3e..a55d6035 100644 --- a/esign.h +++ b/esign.h @@ -90,9 +90,9 @@ template class EMSA5Pad : public PK_DeterministicSignatureMessageEncodingMethod { public: - static const char *StaticAlgorithmName() {return "EMSA5";} - - void ComputeMessageRepresentative(RandomNumberGenerator &rng, + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "EMSA5";} + + void ComputeMessageRepresentative(RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, size_t representativeBitLength) const diff --git a/gfpcrypt.h b/gfpcrypt.h index 114fe8da..ed37bf4a 100644 --- a/gfpcrypt.h +++ b/gfpcrypt.h @@ -185,7 +185,7 @@ template class DL_Algorithm_GDSA : public DL_ElgamalLikeSignatureAlgorithm { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "DSA-1363";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "DSA-1363";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const { @@ -221,7 +221,7 @@ template class DL_Algorithm_NR : public DL_ElgamalLikeSignatureAlgorithm { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "NR";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "NR";} void Sign(const DL_GroupParameters ¶ms, const Integer &x, const Integer &k, const Integer &e, Integer &r, Integer &s) const { diff --git a/gost.h b/gost.h index 116e3710..b2de14af 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> { - static const char *StaticAlgorithmName() {return "GOST";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "GOST";} }; //! \class GOST diff --git a/idea.h b/idea.h index a2b50673..501308b2 100644 --- a/idea.h +++ b/idea.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief IDEA block cipher information struct IDEA_Info : public FixedBlockSize<8>, public FixedKeyLength<16>, public FixedRounds<8> { - static const char *StaticAlgorithmName() {return "IDEA";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "IDEA";} }; //! \class IDEA diff --git a/luc.h b/luc.h index bd04dee5..bac96f2b 100644 --- a/luc.h +++ b/luc.h @@ -205,7 +205,7 @@ public: { return GetValueHelper(this, name, valueType, pValue).Assignable(); } - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_GroupParameters_LUC() {} #endif @@ -219,7 +219,7 @@ class DL_GroupParameters_LUC_DefaultSafePrime : public DL_GroupParameters_LUC { public: typedef NoCofactorMultiplication DefaultCofactorOption; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_GroupParameters_LUC_DefaultSafePrime() {} #endif @@ -232,14 +232,14 @@ protected: class DL_Algorithm_LUC_HMP : public DL_ElgamalLikeSignatureAlgorithm { public: - static const char * StaticAlgorithmName() {return "LUC-HMP";} + CRYPTOPP_CONSTEXPR static const char *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; size_t RLen(const DL_GroupParameters ¶ms) const {return params.GetGroupOrder().ByteCount();} - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_Algorithm_LUC_HMP() {} #endif @@ -251,7 +251,7 @@ struct DL_SignatureKeys_LUC typedef DL_GroupParameters_LUC GroupParameters; typedef DL_PublicKey_GFP PublicKey; typedef DL_PrivateKey_GFP PrivateKey; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_SignatureKeys_LUC() {} #endif @@ -269,7 +269,7 @@ struct DL_CryptoKeys_LUC typedef DL_GroupParameters_LUC_DefaultSafePrime GroupParameters; typedef DL_PublicKey_GFP PublicKey; typedef DL_PrivateKey_GFP PrivateKey; - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~DL_CryptoKeys_LUC() {} #endif @@ -286,7 +286,7 @@ struct LUC_IES LUC_IES<> > { static std::string StaticAlgorithmName() {return "LUC-IES";} // non-standard name - + #ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 virtual ~LUC_IES() {} #endif diff --git a/mars.h b/mars.h index b8b4e2c3..590f9adf 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, 32, 8> { - static const char *StaticAlgorithmName() {return "MARS";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MARS";} }; //! \class MARS diff --git a/md2.h b/md2.h index 760edec0..296c523d 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;} - static const char * StaticAlgorithmName() {return "MD2";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "MD2";} CRYPTOPP_CONSTANT(DIGESTSIZE = 16) CRYPTOPP_CONSTANT(BLOCKSIZE = 16) diff --git a/md4.h b/md4.h index ac98f946..bf6a4f68 100644 --- a/md4.h +++ b/md4.h @@ -15,7 +15,7 @@ class MD4 : public IteratedHashWithStaticTransformword32 size //! \details If n is not a multiple of word32, then unused bytes are @@ -120,7 +120,7 @@ public: for(size_t i=0; i < RoundUpToMultipleOf(n, 4U); i++) NextMersenneWord(); } - + protected: //! \brief Returns the next 32-bit word from the state array @@ -130,19 +130,19 @@ protected: word32 NextMersenneWord() { if (m_idx >= N) { Twist(); } - + word32 temp = m_state[m_idx++]; temp ^= (temp >> 11); temp ^= (temp << 7) & 0x9D2C5680; // 0x9D2C5680 (2636928640) temp ^= (temp << 15) & 0xEFC60000; // 0xEFC60000 (4022730752) - + return temp ^ (temp >> 18); } //! \brief Performs the twist operaton on the state array void Twist() - { + { static const unsigned long magic[2]={0x0UL, K}; word32 kk, temp; @@ -152,19 +152,19 @@ protected: temp = (m_state[kk] & 0x80000000)|(m_state[kk+1] & 0x7FFFFFFF); m_state[kk] = m_state[kk+M] ^ (temp >> 1) ^ magic[temp & 0x1UL]; } - + for (;kk> 1) ^ magic[temp & 0x1UL]; } - + temp = (m_state[N-1] & 0x80000000)|(m_state[0] & 0x7FFFFFFF); m_state[N-1] = m_state[M-1] ^ (temp >> 1) ^ magic[temp & 0x1UL]; - + // Reset index m_idx = 0; - + // Wipe temp *((volatile word32*)&temp) = 0; } @@ -179,7 +179,7 @@ private: unsigned int m_idx; }; -//! \brief Original MT19937 generator provided in the ACM paper. +//! \brief Original MT19937 generator provided in the ACM paper. //! \details Also see http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf; uses 4537 as default initial seed. typedef MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x10DCD /*69069*/, 4537> MT19937; @@ -191,4 +191,4 @@ typedef MersenneTwister<0x9908B0DF /*2567483615*/, 397, 624, 0x6C078965 /*181243 NAMESPACE_END #endif // CRYPTOPP_MERSENNE_TWISTER_H - \ No newline at end of file + diff --git a/modes.h b/modes.h index 202210c7..01ea4bfe 100644 --- a/modes.h +++ b/modes.h @@ -112,7 +112,7 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CFB_ModePolicy : public ModePolicyCommonTe { public: IV_Requirement IVRequirement() const {return RANDOM_IV;} - static const char * CRYPTOPP_API StaticAlgorithmName() {return "CFB";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "CFB";} protected: unsigned int GetBytesPerIteration() const {return m_feedbackSize;} @@ -143,7 +143,7 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE OFB_ModePolicy : public ModePolicyCommonTe public: bool CipherIsRandomAccess() const {return false;} IV_Requirement IVRequirement() const {return UNIQUE_IV;} - static const char * CRYPTOPP_API StaticAlgorithmName() {return "OFB";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "OFB";} private: unsigned int GetBytesPerIteration() const {return BlockSize();} @@ -159,7 +159,7 @@ class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CTR_ModePolicy : public ModePolicyCommonTe public: bool CipherIsRandomAccess() const {return true;} IV_Requirement IVRequirement() const {return RANDOM_IV;} - static const char * CRYPTOPP_API StaticAlgorithmName() {return "CTR";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "CTR";} protected: virtual void IncrementCounterBy256(); @@ -216,7 +216,7 @@ public: IV_Requirement IVRequirement() const {return NOT_RESYNCHRONIZABLE;} unsigned int OptimalBlockSize() const {return BlockSize() * m_cipher->OptimalNumberOfParallelBlocks();} void ProcessData(byte *outString, const byte *inString, size_t length); - static const char * CRYPTOPP_API StaticAlgorithmName() {return "ECB";} + CRYPTOPP_CONSTEXPR static const char * 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;} - static const char * CRYPTOPP_API StaticAlgorithmName() {return "CBC";} + CRYPTOPP_CONSTEXPR static const char * 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); - static const char * CRYPTOPP_API StaticAlgorithmName() {return "CBC/CTS";} + CRYPTOPP_CONSTEXPR static const char * 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 b1a41e61..8276c7d5 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); - static const char * StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} + CRYPTOPP_CONSTEXPR static const char *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> { - static const char * StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == BIG_ENDIAN_ORDER ? "Panama-BE" : "Panama-LE";} }; //! \class PanamaCipherPolicy diff --git a/pkcspad.h b/pkcspad.h index 1af7c0ce..a400e988 100644 --- a/pkcspad.h +++ b/pkcspad.h @@ -19,7 +19,7 @@ NAMESPACE_BEGIN(CryptoPP) class PKCS_EncryptionPaddingScheme : public PK_EncryptionMessageEncodingMethod { public: - static const char * StaticAlgorithmName() {return "EME-PKCS1-v1_5";} + CRYPTOPP_CONSTEXPR static const char *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; @@ -60,12 +60,12 @@ CRYPTOPP_DLL_TEMPLATE_CLASS PKCS_DigestDecoration; class CRYPTOPP_DLL PKCS1v15_SignatureMessageEncodingMethod : public PK_DeterministicSignatureMessageEncodingMethod { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA-PKCS1-v1_5";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "EMSA-PKCS1-v1_5";} size_t MinRepresentativeBitLength(size_t hashIdentifierSize, size_t digestSize) const {return 8 * (digestSize + hashIdentifierSize + 10);} - void ComputeMessageRepresentative(RandomNumberGenerator &rng, + void ComputeMessageRepresentative(RandomNumberGenerator &rng, const byte *recoverableMessage, size_t recoverableMessageLength, HashTransformation &hash, HashIdentifier hashIdentifier, bool messageEmpty, byte *representative, size_t representativeBitLength) const; diff --git a/pubkey.h b/pubkey.h index a91df165..78f3fa8a 100644 --- a/pubkey.h +++ b/pubkey.h @@ -712,7 +712,7 @@ CRYPTOPP_DLL void CRYPTOPP_API P1363_MGF1KDF2_Common(HashTransformation &hash, b class P1363_MGF1 : public MaskGeneratingFunction { public: - static const char * CRYPTOPP_API StaticAlgorithmName() {return "MGF1";} + CRYPTOPP_CONSTEXPR static const char * 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); @@ -1978,7 +1978,7 @@ public: virtual ~DL_KeyAgreementAlgorithm_DH() {} #endif - static const char * CRYPTOPP_API StaticAlgorithmName() + CRYPTOPP_CONSTEXPR static const char * 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 b917abfb..760d665b 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) - static const char *StaticAlgorithmName() {return "RC2";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC2";} }; //! \class RC2 diff --git a/rc5.h b/rc5.h index b1012737..b76a5217 100644 --- a/rc5.h +++ b/rc5.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief RC5 block cipher information struct RC5_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 0, 255>, public VariableRounds<16> { - static const char *StaticAlgorithmName() {return "RC5";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC5";} typedef word32 RC5_WORD; }; diff --git a/rc6.h b/rc6.h index 9ac55d80..5b84a0bd 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> { - static const char *StaticAlgorithmName() {return "RC6";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "RC6";} typedef word32 RC6_WORD; }; diff --git a/ripemd.h b/ripemd.h index 818c4284..b93b1614 100644 --- a/ripemd.h +++ b/ripemd.h @@ -17,7 +17,7 @@ class RIPEMD160 : public IteratedHashWithStaticTransform //! \brief RSA algorithm struct CRYPTOPP_DLL RSA_ISO { - static const char * CRYPTOPP_API StaticAlgorithmName() {return "RSA-ISO";} + CRYPTOPP_CONSTEXPR static const char * CRYPTOPP_API StaticAlgorithmName() {return "RSA-ISO";} typedef RSAFunction_ISO PublicKey; typedef InvertibleRSAFunction_ISO PrivateKey; }; diff --git a/safer.h b/safer.h index 0a6cb064..6be48474 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> { - static const char *StaticAlgorithmName() {return "SAFER-K";} + CRYPTOPP_CONSTEXPR static const char *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> { - static const char *StaticAlgorithmName() {return "SAFER-SK";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SAFER-SK";} }; //! \class SAFER_SK diff --git a/salsa.h b/salsa.h index 6a70af6e..623b36f7 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> { - static const char *StaticAlgorithmName() {return "Salsa20";} + CRYPTOPP_CONSTEXPR static const char *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> { - static const char *StaticAlgorithmName() {return "XSalsa20";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "XSalsa20";} }; //! \class XSalsa20_Policy diff --git a/seal.h b/seal.h index 9c898e52..92e0321e 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> { - static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "SEAL-3.0-LE" : "SEAL-3.0-BE";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "SEAL-3.0-LE" : "SEAL-3.0-BE";} }; //! \class SEAL_Policy diff --git a/seed.h b/seed.h index f62f6626..96158293 100644 --- a/seed.h +++ b/seed.h @@ -15,7 +15,7 @@ NAMESPACE_BEGIN(CryptoPP) //! \brief SEED block cipher information struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16> { - static const char *StaticAlgorithmName() {return "SEED";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SEED";} }; //! \class SEED diff --git a/serpent.h b/serpent.h index 888d70af..501ef0a9 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> { - static const char *StaticAlgorithmName() {return "Serpent";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Serpent";} }; //! \class Serpent diff --git a/sha.h b/sha.h index c70d9d1f..7c145115 100644 --- a/sha.h +++ b/sha.h @@ -23,7 +23,7 @@ class CRYPTOPP_DLL SHA1 : public IteratedHashWithStaticTransform, public VariableKeyLength<16, 16, 64> { - static const char *StaticAlgorithmName() {return "SHACAL-2";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SHACAL-2";} }; //! \class SHACAL2 diff --git a/shark.h b/shark.h index bf413c92..dbb79a6d 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> { - static const char *StaticAlgorithmName() {return "SHARK-E";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "SHARK-E";} }; //! \class SHARK diff --git a/sosemanuk.h b/sosemanuk.h index 5b32ee85..a64d92c2 100644 --- a/sosemanuk.h +++ b/sosemanuk.h @@ -20,7 +20,7 @@ NAMESPACE_BEGIN(CryptoPP) //! algorithm info struct SosemanukInfo : public VariableKeyLength<16, 1, 32, 1, SimpleKeyingInterface::UNIQUE_IV, 16> { - static const char * StaticAlgorithmName() {return "Sosemanuk";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Sosemanuk";} }; //! _ diff --git a/square.h b/square.h index cf058a3d..1c5c5498 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> { - static const char *StaticAlgorithmName() {return "Square";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Square";} }; //! \class Square diff --git a/tea.h b/tea.h index e1d0da87..a019326b 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> { - static const char *StaticAlgorithmName() {return "TEA";} + CRYPTOPP_CONSTEXPR static const char *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> { - static const char *StaticAlgorithmName() {return "XTEA";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "XTEA";} }; //! \class XTEA @@ -109,7 +109,7 @@ public: //! \brief BTEA block cipher information struct BTEA_Info : public FixedKeyLength<16> { - static const char *StaticAlgorithmName() {return "BTEA";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "BTEA";} }; //! \class BTEA diff --git a/tiger.h b/tiger.h index 2c203af7..395d7805 100644 --- a/tiger.h +++ b/tiger.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); - static const char * StaticAlgorithmName() {return "Tiger";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Tiger";} protected: static const word64 table[4*256+3]; diff --git a/twofish.h b/twofish.h index f6d75ca8..99c31374 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> { - static const char *StaticAlgorithmName() {return "Twofish";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Twofish";} }; //! \class Twofish diff --git a/wake.h b/wake.h index 9629e9f9..972216d3 100644 --- a/wake.h +++ b/wake.h @@ -18,7 +18,7 @@ NAMESPACE_BEGIN(CryptoPP) template struct WAKE_OFB_Info : public FixedKeyLength<32> { - static const char *StaticAlgorithmName() {return B::ToEnum() == LITTLE_ENDIAN_ORDER ? "WAKE-OFB-LE" : "WAKE-OFB-BE";} + CRYPTOPP_CONSTEXPR static const char *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 68b43204..58dbf22d 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); - static const char * StaticAlgorithmName() {return "Whirlpool";} + CRYPTOPP_CONSTEXPR static const char *StaticAlgorithmName() {return "Whirlpool";} }; NAMESPACE_END