/************************************************* * EMSA2 Header File * * (C) 1999-2007 Jack Lloyd * *************************************************/ #ifndef BOTAN_EMSA2_H__ #define BOTAN_EMSA2_H__ #include #include namespace Botan { /************************************************* * EMSA2 * *************************************************/ class BOTAN_DLL EMSA2 : public EMSA { public: EMSA2(HashFunction* hash); ~EMSA2() { delete hash; } private: void update(const byte[], u32bit); SecureVector raw_data(); SecureVector encoding_of(const MemoryRegion&, u32bit, RandomNumberGenerator& rng); bool verify(const MemoryRegion&, const MemoryRegion&, u32bit) throw(); SecureVector empty_hash; HashFunction* hash; byte hash_id; }; } #endif