diff options
-rw-r--r-- | Kernel/Random.h | 2 | ||||
-rw-r--r-- | Libraries/LibCrypto/Cipher/Mode/CTR.h | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Kernel/Random.h b/Kernel/Random.h index d26f4ea0d2..5fe130d1c3 100644 --- a/Kernel/Random.h +++ b/Kernel/Random.h @@ -66,7 +66,7 @@ public: // FIXME: More than 2^20 bytes cannot be generated without refreshing the key. ASSERT(n < (1 << 20)); - typename CipherType::CTRMode cipher(m_key, KeySize); + typename CipherType::CTRMode cipher(m_key, KeySize, Crypto::Cipher::Intent::Encryption); Bytes buffer_span { buffer, n }; auto counter_span = m_counter.bytes(); diff --git a/Libraries/LibCrypto/Cipher/Mode/CTR.h b/Libraries/LibCrypto/Cipher/Mode/CTR.h index 4525e48d43..e1db3ce0c2 100644 --- a/Libraries/LibCrypto/Cipher/Mode/CTR.h +++ b/Libraries/LibCrypto/Cipher/Mode/CTR.h @@ -113,8 +113,10 @@ public: // Must intercept `Intent`, because AES must always be set to // Encryption, even when decrypting AES-CTR. // TODO: How to deal with ciphers that take different arguments? + // FIXME: Add back the default intent parameter once clang-11 is the default in GitHub Actions. + // Once added back, remove the parameter where it's constructed in get_random_bytes in Kernel/Random.h. template<typename KeyType, typename... Args> - explicit constexpr CTR(const KeyType& user_key, size_t key_bits, Intent = Intent::Encryption, Args... args) + explicit constexpr CTR(const KeyType& user_key, size_t key_bits, Intent, Args... args) : Mode<T>(user_key, key_bits, Intent::Encryption, args...) { } |