16 #ifndef ACSDK_CRYPTOINTERFACES_CRYPTOCODECINTERFACE_H_ 17 #define ACSDK_CRYPTOINTERFACES_CRYPTOCODECINTERFACE_H_ 22 namespace cryptoInterfaces {
164 typedef std::vector<unsigned char>
Key;
169 typedef std::vector<unsigned char>
IV;
173 typedef std::vector<unsigned char>
Tag;
248 virtual
bool processAAD(DataBlock::const_iterator dataInBegin, DataBlock::const_iterator dataInEnd) noexcept = 0;
272 virtual
bool process(
const DataBlock& dataIn, DataBlock& dataOut) noexcept = 0;
299 DataBlock::const_iterator dataInBegin,
300 DataBlock::const_iterator dataInEnd,
301 DataBlock& dataOut) noexcept = 0;
326 virtual
bool finalize(DataBlock& dataOut) noexcept = 0;
344 virtual
bool getTag(Tag& tag) noexcept = 0;
368 #endif // ACSDK_CRYPTOINTERFACES_CRYPTOCODECINTERFACE_H_ std::vector< unsigned char > Key
Key type. This type contains key bytes.
Definition: CryptoCodecInterface.h:164
virtual bool process(const DataBlock &dataIn, DataBlock &dataOut) noexcept=0
Encrypt or decrypt a data block.
std::vector< unsigned char > Tag
Tag vector type. Tag is used with AEAD mode of operation like with Galois/Counter mode...
Definition: CryptoCodecInterface.h:173
virtual bool setTag(const Tag &tag) noexcept=0
Sets tag for authenticated decryption.
virtual bool init(const Key &key, const IV &iv) noexcept=0
Initialize the codec.
virtual bool finalize(DataBlock &dataOut) noexcept=0
Complete data processing.
virtual bool getTag(Tag &tag) noexcept=0
Provides tag from authenticated encryption.
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
virtual bool processAAD(const DataBlock &dataIn) noexcept=0
Process AAD data block.
Crypto codec (cipher) interface.
Definition: CryptoCodecInterface.h:156
const
Definition: upload.py:398
std::vector< unsigned char > IV
Initialization vector type. Initialization vector contains data to initialize codec state before encr...
Definition: CryptoCodecInterface.h:169
std::vector< unsigned char > DataBlock
Data block type. This type represents a byte array.
Definition: CryptoCodecInterface.h:160
default
Definition: upload.py:394
virtual ~CryptoCodecInterface() noexcept=default
Default destructor.
static const std::string key
The database key to be used by the protocol given the METADATA object.
Definition: SharedAVSSettingProtocolTest.cpp:58