Skip to content

Commit ed986cd

Browse files
committed
fix(shortint): add ciphertext_modulus_after_packing_ks to compression parameters
1 parent 3dcf7f2 commit ed986cd

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

tfhe/src/shortint/list_compression/server_keys.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ impl ClientKey {
6565
params.packing_ks_base_log,
6666
params.packing_ks_level,
6767
params.packing_ks_key_noise_distribution,
68-
self.parameters.ciphertext_modulus(),
68+
params.ciphertext_modulus_after_packing_ks,
6969
&mut engine.encryption_generator,
7070
)
7171
});
@@ -120,6 +120,7 @@ pub struct CompressionConformanceParameters {
120120
pub storage_log_modulus: CiphertextModulusLog,
121121
pub uncompressed_polynomial_size: PolynomialSize,
122122
pub uncompressed_glwe_dimension: GlweDimension,
123+
pub ciphertext_modulus_after_packing_ks: CiphertextModulus<u64>,
123124
pub cipherext_modulus: CiphertextModulus<u64>,
124125
}
125126

@@ -137,6 +138,8 @@ impl From<(PBSParameters, CompressionParameters)> for CompressionConformancePara
137138
uncompressed_polynomial_size: pbs_params.polynomial_size(),
138139
uncompressed_glwe_dimension: pbs_params.glwe_dimension(),
139140
cipherext_modulus: pbs_params.ciphertext_modulus(),
141+
ciphertext_modulus_after_packing_ks: compression_params
142+
.ciphertext_modulus_after_packing_ks,
140143
}
141144
}
142145
}
@@ -159,7 +162,7 @@ impl ParameterSetConformant for CompressionKey {
159162
.to_equivalent_lwe_dimension(parameter_set.uncompressed_polynomial_size),
160163
output_glwe_size: parameter_set.packing_ks_glwe_dimension.to_glwe_size(),
161164
output_polynomial_size: parameter_set.packing_ks_polynomial_size,
162-
ciphertext_modulus: parameter_set.cipherext_modulus,
165+
ciphertext_modulus: parameter_set.ciphertext_modulus_after_packing_ks,
163166
};
164167

165168
packing_key_switching_key.is_conformant(&params)

tfhe/src/shortint/parameters/list_compression.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use tfhe_versionable::Versionize;
22

3+
use super::CiphertextModulus;
34
use crate::core_crypto::prelude::{CiphertextModulusLog, LweCiphertextCount};
45
use crate::shortint::backward_compatibility::parameters::list_compression::CompressionParametersVersions;
56
use crate::shortint::parameters::{
@@ -20,6 +21,7 @@ pub struct CompressionParameters {
2021
pub lwe_per_glwe: LweCiphertextCount,
2122
pub storage_log_modulus: CiphertextModulusLog,
2223
pub packing_ks_key_noise_distribution: DynamicDistribution<u64>,
24+
pub ciphertext_modulus_after_packing_ks: CiphertextModulus,
2325
}
2426

2527
pub const COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M64: CompressionParameters =
@@ -33,4 +35,5 @@ pub const COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M64: CompressionParamete
3335
lwe_per_glwe: LweCiphertextCount(256),
3436
storage_log_modulus: CiphertextModulusLog(12),
3537
packing_ks_key_noise_distribution: DynamicDistribution::new_t_uniform(42),
38+
ciphertext_modulus_after_packing_ks: CiphertextModulus::new_native(),
3639
};

0 commit comments

Comments
 (0)