/* * EME1 * (C) 1999-2007 Jack Lloyd * * Distributed under the terms of the Botan license */ #ifndef BOTAN_EME1_H__ #define BOTAN_EME1_H__ #include #include #include namespace Botan { /** * EME1, aka OAEP */ class BOTAN_DLL EME1 : public EME { public: size_t maximum_input_size(size_t) const; /** * @param hash object to use for hashing (takes ownership) * @param P an optional label. Normally empty. */ EME1(HashFunction* hash, const std::string& P = ""); ~EME1() { delete mgf; } private: secure_vector pad(const byte[], size_t, size_t, RandomNumberGenerator&) const; secure_vector unpad(const byte[], size_t, size_t) const; secure_vector Phash; MGF* mgf; }; } #endif