#ifndef BOTAN_ECB_H__
#define BOTAN_ECB_H__
#include "botan-1.6/include/modebase.h"
#include "botan-1.6/include/mode_pad.h"
namespace Enctain {
namespace Botan {
class ECB : public BlockCipherMode
{
protected:
ECB(const std::string&, const std::string&);
std::string name() const;
const BlockCipherModePaddingMethod* padder;
private:
bool valid_iv_size(u32bit) const;
};
class ECB_Encryption : public ECB
{
public:
ECB_Encryption(const std::string&, const std::string&);
ECB_Encryption(const std::string&, const std::string&,
const SymmetricKey&);
private:
void write(const byte[], u32bit);
void end_msg();
};
class ECB_Decryption : public ECB
{
public:
ECB_Decryption(const std::string&, const std::string&);
ECB_Decryption(const std::string&, const std::string&,
const SymmetricKey&);
private:
void write(const byte[], u32bit);
void end_msg();
};
}
}
#endif