From b91ce07bfbbf53d03ce002b08cf6ef3ea699af5a Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Sat, 12 Oct 2019 09:40:34 -0400 Subject: Revert BlowfishCompat changes (PR #877) --- blowfish.h | 58 +++++++++++++++++++++------------------------------------- 1 file changed, 21 insertions(+), 37 deletions(-) (limited to 'blowfish.h') diff --git a/blowfish.h b/blowfish.h index 855795b2..5f34609f 100644 --- a/blowfish.h +++ b/blowfish.h @@ -11,25 +11,6 @@ NAMESPACE_BEGIN(CryptoPP) -/// \brief Class specific implementation and overrides used to operate the cipher. -/// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions -template -class CRYPTOPP_NO_VTABLE Blowfish_Base : public BlockCipherImpl -{ -public: - void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; - void UncheckedSetKey(const byte *key_string, unsigned int keylength, const NameValuePairs ¶ms); - -private: - void crypt_block(const word32 in[2], word32 out[2]) const; - - static const word32 p_init[Info::ROUNDS+2]; - static const word32 s_init[4*256]; - - FixedSizeSecBlock pbox; - FixedSizeSecBlock sbox; -}; - /// \brief Blowfish block cipher information struct Blowfish_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4, 56>, public FixedRounds<16> { @@ -40,30 +21,33 @@ struct Blowfish_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4, /// \brief Blowfish block cipher /// \since Crypto++ 1.0 -struct Blowfish : public Blowfish_Info, public BlockCipherDocumentation +class Blowfish : public Blowfish_Info, public BlockCipherDocumentation { - typedef BlockCipherFinal > Encryption; - typedef BlockCipherFinal > Decryption; -}; + /// \brief Class specific implementation and overrides used to operate the cipher. + /// \details Implementations and overrides in \p Base apply to both \p ENCRYPTION and \p DECRYPTION directions + class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl + { + public: + void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; + void UncheckedSetKey(const byte *key_string, unsigned int keylength, const NameValuePairs ¶ms); -typedef Blowfish::Encryption BlowfishEncryption; -typedef Blowfish::Decryption BlowfishDecryption; + private: + void crypt_block(const word32 in[2], word32 out[2]) const; -/// \brief BlowfishCompat block cipher information -struct BlowfishCompat_Info : public FixedBlockSize<8>, public VariableKeyLength<16, 4, 56>, public FixedRounds<16> -{ - CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "BlowfishCompat";} -}; + static const word32 p_init[ROUNDS+2]; + static const word32 s_init[4*256]; -/// \brief BlowfishCompat block cipher -struct BlowfishCompat : public BlowfishCompat_Info, public BlockCipherDocumentation -{ - typedef BlockCipherFinal > Encryption; - typedef BlockCipherFinal > Decryption; + FixedSizeSecBlock pbox; + FixedSizeSecBlock sbox; + }; + +public: + typedef BlockCipherFinal Encryption; + typedef BlockCipherFinal Decryption; }; -typedef BlowfishCompat::Encryption BlowfishCompatEncryption; -typedef BlowfishCompat::Decryption BlowfishCompatDecryption; +typedef Blowfish::Encryption BlowfishEncryption; +typedef Blowfish::Decryption BlowfishDecryption; NAMESPACE_END -- cgit v1.2.1