/* * Blue Midnight Wish 512 (Round 2 tweaked) * (C) 2009 Jack Lloyd * * Distributed under the terms of the Botan license */ #ifndef BOTAN_BMW_512_H__ #define BOTAN_BMW_512_H__ #include namespace Botan { /** * Blue Midnight Wish 512 (Round 2 tweaked version) */ class BOTAN_DLL BMW_512 : public MDx_HashFunction { public: void clear(); std::string name() const { return "BMW512"; } HashFunction* clone() const { return new BMW_512; } BMW_512() : MDx_HashFunction(64, 128, false, true), H(16), M(16), Q(32) { clear(); } private: void compress_n(const byte input[], size_t blocks); void copy_out(byte output[]); SecureVector H, M, Q; }; } #endif