From 887280401fa6c3538dae9a4c873a113e970deb34 Mon Sep 17 00:00:00 2001 From: SHELL Team Date: Wed, 15 Apr 2026 16:36:10 -0700 Subject: [PATCH] No public description PiperOrigin-RevId: 900402340 --- shell_encryption/relinearization_key.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shell_encryption/relinearization_key.cc b/shell_encryption/relinearization_key.cc index d2fa25e..0a6a7e1 100644 --- a/shell_encryption/relinearization_key.cc +++ b/shell_encryption/relinearization_key.cc @@ -229,6 +229,10 @@ RelinearizationKey::Create(const SymmetricRlweKey& key, return absl::InvalidArgumentError(absl::StrCat( "Log decomposition modulus, ", log_decomposition_modulus, ", must be at most: ", key.ModulusParams()->log_modulus, ".")); + } else if (log_decomposition_modulus >= 32) { + return absl::InvalidArgumentError( + absl::StrCat("Log decomposition modulus, ", log_decomposition_modulus, + ", must be less than 32.")); } RLWE_ASSIGN_OR_RETURN(auto decomposition_modulus, ModularInt::ImportInt(key.ModulusParams()->One() @@ -401,6 +405,10 @@ RelinearizationKey::Deserialize( return absl::InvalidArgumentError(absl::StrCat( "Log decomposition modulus, ", serialized.log_decomposition_modulus(), ", must be at most: ", modulus_params->log_modulus, ".")); + } else if (serialized.log_decomposition_modulus() >= 32) { + return absl::InvalidArgumentError(absl::StrCat( + "Log decomposition modulus, ", serialized.log_decomposition_modulus(), + ", must be less than 32.")); } int polynomials_per_key_part = serialized.c_size() / expected_num_key_parts;