aboutsummaryrefslogtreecommitdiff
path: root/src/common/Cryptography/AES.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-12-18 22:28:34 +0100
committerOvahlord <dreadkiller@gmx.de>2024-12-19 15:22:19 +0100
commita2b74721cf0a81655b5901423600b904fe96b6c1 (patch)
tree96da0b7ae9bd2ece13d731565c98ae643ea77ee9 /src/common/Cryptography/AES.h
parenta591a2ce59f9958ead36da4dac3c5803203be854 (diff)
Core/Crypto: Allow different AES key lengths
(cherry picked from commit f8f7fb58cb10fe7c76ac67a8e425edcb652bbc66)
Diffstat (limited to 'src/common/Cryptography/AES.h')
-rw-r--r--src/common/Cryptography/AES.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/common/Cryptography/AES.h b/src/common/Cryptography/AES.h
index b7ff64c11d0..db98df24d7c 100644
--- a/src/common/Cryptography/AES.h
+++ b/src/common/Cryptography/AES.h
@@ -20,6 +20,7 @@
#include "Define.h"
#include <array>
+#include <span>
#include <openssl/evp.h>
namespace Trinity::Crypto
@@ -35,10 +36,15 @@ namespace Trinity::Crypto
using Key = std::array<uint8, KEY_SIZE_BYTES>;
using Tag = uint8[TAG_SIZE_BYTES];
- AES(bool encrypting);
+ AES(bool encrypting, size_t keySizeBits = 128);
+ AES(AES const&) = delete;
+ AES(AES&&) = delete;
+ AES& operator=(AES const&) = delete;
+ AES& operator=(AES&&) = delete;
~AES();
void Init(Key const& key);
+ void Init(std::span<uint8 const> key);
bool Process(IV const& iv, uint8* data, size_t length, Tag& tag);
bool ProcessNoIntegrityCheck(IV const& iv, uint8* data, size_t partialLength);