// seed.h - originally written and placed in the public domain by Wei Dai /// \file seed.h /// \brief Classes for the SEED block cipher /// \since Crypto++ 5.6.0 #ifndef CRYPTOPP_SEED_H #define CRYPTOPP_SEED_H #include "seckey.h" #include "secblock.h" NAMESPACE_BEGIN(CryptoPP) /// \class SEED_Info /// \brief SEED block cipher information /// \since Crypto++ 5.6.0 struct SEED_Info : public FixedBlockSize<16>, public FixedKeyLength<16>, public FixedRounds<16> { CRYPTOPP_STATIC_CONSTEXPR const char* StaticAlgorithmName() {return "SEED";} }; /// \class SEED /// \brief SEED block cipher /// \sa SEED /// \since Crypto++ 5.6.0 class SEED : public SEED_Info, public BlockCipherDocumentation { class CRYPTOPP_NO_VTABLE Base : public BlockCipherImpl { public: void UncheckedSetKey(const byte *key, unsigned int length, const NameValuePairs ¶ms); void ProcessAndXorBlock(const byte *inBlock, const byte *xorBlock, byte *outBlock) const; protected: FixedSizeSecBlock m_k; }; public: typedef BlockCipherFinal Encryption; typedef BlockCipherFinal Decryption; }; NAMESPACE_END #endif