#ifndef __AES_HPP__ #define __AES_HPP__ #include #include #include namespace athena { class IAES { public: virtual ~IAES() {} virtual void encrypt(const uint8_t* iv, const uint8_t* inbuf, uint8_t* outbuf, uint64_t len)=0; virtual void decrypt(const uint8_t* iv, const uint8_t* inbuf, uint8_t* outbuf, uint64_t len)=0; virtual void setKey(const uint8_t* key)=0; }; std::unique_ptr NewAES(); } #endif //__AES_HPP__