nod/include/nod/aes.hpp

20 lines
437 B
C++
Raw Normal View History

2018-10-06 20:39:24 -07:00
#pragma once
2015-06-28 22:35:25 -07:00
2017-12-28 23:57:54 -08:00
#include <cstdint>
#include <cstdlib>
2015-06-28 22:35:25 -07:00
#include <memory>
2018-12-07 21:21:47 -08:00
namespace nod {
2015-06-28 22:35:25 -07:00
2018-12-07 21:21:47 -08:00
class IAES {
2015-06-28 22:35:25 -07:00
public:
2018-12-07 21:21:47 -08:00
virtual ~IAES() = default;
virtual void encrypt(const uint8_t* iv, const uint8_t* inbuf, uint8_t* outbuf, size_t len) = 0;
virtual void decrypt(const uint8_t* iv, const uint8_t* inbuf, uint8_t* outbuf, size_t len) = 0;
virtual void setKey(const uint8_t* key) = 0;
2015-06-28 22:35:25 -07:00
};
std::unique_ptr<IAES> NewAES();
2018-12-07 21:21:47 -08:00
} // namespace nod