13 virtual void init(::std::string
const& key, ::std::string
const& IV) = 0;
16 virtual void encrypt(::std::string
const& plaintext, ::std::string& output) = 0;
18 virtual void encrypt(::std::string
const& plaintext, ::std::string& out) = 0;
22 virtual void decrypt(::std::string
const& ciphertext, ::std::string& output) = 0;
24 virtual void decrypt(::std::string
const& ciphertext, ::std::string& out) = 0;
27 virtual uint64 getKeySize()
const = 0;
29 virtual uint64 getBlockSize()
const = 0;
31 virtual uint64 getEncryptionBufferSize(uint64 inputSize)
const = 0;
33 virtual bool encryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten) = 0;
35 virtual uint64 getDecryptionBufferSize(uint64 inputSize)
const = 0;
37 virtual bool decryptToBuffer(::gsl::span<char const> input, ::gsl::span<char> output, uint64& bytesWritten) = 0;