10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
AESCipher.h
1#ifndef TENDUKE_CRYPTO_AES_AESCIPHER_H
2#define TENDUKE_CRYPTO_AES_AESCIPHER_H
3
4#include "../../Cipher.h"
5#include <memory>
6
7namespace tenduke { namespace crypto { namespace aes {
8
10constexpr std::size_t GCM_MAC_SIZE = 16;
11
13constexpr std::size_t GCM_NONCE_SIZE = 12;
14
19class AESCipher : public virtual Cipher
20{
21public:
22 ~AESCipher() override = default;
23 explicit AESCipher() = default;
24
25 // Ciphers are not copyable
26 AESCipher(const AESCipher&) = delete;
27 AESCipher& operator=(const AESCipher&) = delete;
28
29 // Ciphers are movable
30 AESCipher(AESCipher&& other) noexcept = default;
31 AESCipher& operator=(AESCipher&& other) noexcept = default;
32};
33
34}}}
35
36#endif //TENDUKE_CRYPTO_AES_AESCIPHER_H
Cryptography services.
Definition AbstractCiphers.h:18
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4