diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-12-18 22:28:34 +0100 |
|---|---|---|
| committer | Ovahlord <dreadkiller@gmx.de> | 2024-12-19 15:22:19 +0100 |
| commit | a2b74721cf0a81655b5901423600b904fe96b6c1 (patch) | |
| tree | 96da0b7ae9bd2ece13d731565c98ae643ea77ee9 /src/common/Cryptography/AES.h | |
| parent | a591a2ce59f9958ead36da4dac3c5803203be854 (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.h | 8 |
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); |
