summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Kernel/Random.h2
-rw-r--r--Libraries/LibCrypto/Cipher/Mode/CTR.h4
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...)
{
}