mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-10 07:08:03 -05:00
refactor(core): rename LweBskGroupingFactor MultiBitGroupingFactor
This commit is contained in:
@@ -24,7 +24,7 @@ fn get_bench_params<Scalar: Numeric>() -> (
|
||||
DecompositionLevelCount,
|
||||
GlweDimension,
|
||||
PolynomialSize,
|
||||
LweBskGroupingFactor,
|
||||
MultiBitGroupingFactor,
|
||||
ThreadCount,
|
||||
) {
|
||||
if Scalar::BITS == 64 {
|
||||
@@ -35,7 +35,7 @@ fn get_bench_params<Scalar: Numeric>() -> (
|
||||
DecompositionLevelCount(5),
|
||||
GlweDimension(1),
|
||||
PolynomialSize(1024),
|
||||
LweBskGroupingFactor(2),
|
||||
MultiBitGroupingFactor(2),
|
||||
ThreadCount(5),
|
||||
)
|
||||
} else if Scalar::BITS == 32 {
|
||||
@@ -46,7 +46,7 @@ fn get_bench_params<Scalar: Numeric>() -> (
|
||||
DecompositionLevelCount(1),
|
||||
GlweDimension(3),
|
||||
PolynomialSize(512),
|
||||
LweBskGroupingFactor(2),
|
||||
MultiBitGroupingFactor(2),
|
||||
ThreadCount(5),
|
||||
)
|
||||
} else {
|
||||
|
||||
@@ -104,8 +104,11 @@ fn throughput_benchmark_parameters<Scalar: UnsignedInteger>(
|
||||
}
|
||||
}
|
||||
|
||||
fn multi_bit_benchmark_parameters<Scalar: UnsignedInteger + Default>(
|
||||
) -> Vec<(String, CryptoParametersRecord<Scalar>, LweBskGroupingFactor)> {
|
||||
fn multi_bit_benchmark_parameters<Scalar: UnsignedInteger + Default>() -> Vec<(
|
||||
String,
|
||||
CryptoParametersRecord<Scalar>,
|
||||
MultiBitGroupingFactor,
|
||||
)> {
|
||||
if Scalar::BITS == 64 {
|
||||
let parameters = if cfg!(feature = "gpu") {
|
||||
vec![
|
||||
|
||||
@@ -330,7 +330,7 @@ pub unsafe extern "C" fn core_crypto_lwe_multi_bit_bootstrapping_key_element_siz
|
||||
let output_glwe_sk_poly_size = PolynomialSize(output_glwe_sk_poly_size);
|
||||
|
||||
let lwe_multi_bit_level_count = DecompositionLevelCount(lwe_multi_bit_level_count);
|
||||
let lwe_multi_bit_grouping_factor = LweBskGroupingFactor(lwe_multi_bit_grouping_factor);
|
||||
let lwe_multi_bit_grouping_factor = MultiBitGroupingFactor(lwe_multi_bit_grouping_factor);
|
||||
|
||||
*result = lwe_multi_bit_bootstrap_key_size(
|
||||
input_lwe_sk_dim,
|
||||
@@ -472,7 +472,7 @@ pub unsafe extern "C" fn core_crypto_par_generate_lwe_multi_bit_bootstrapping_ke
|
||||
|
||||
let lwe_multi_bit_base_log = DecompositionBaseLog(lwe_multi_bit_base_log);
|
||||
let lwe_multi_bit_level_count = DecompositionLevelCount(lwe_multi_bit_level_count);
|
||||
let lwe_multi_bit_grouping_factor = LweBskGroupingFactor(lwe_multi_bit_grouping_factor);
|
||||
let lwe_multi_bit_grouping_factor = MultiBitGroupingFactor(lwe_multi_bit_grouping_factor);
|
||||
|
||||
let lwe_multi_bit_slice_len = {
|
||||
let bsk = LweMultiBitBootstrapKeyOwned::new(
|
||||
|
||||
@@ -25,7 +25,7 @@ use rayon::prelude::*;
|
||||
/// let polynomial_size = PolynomialSize(1024);
|
||||
/// let glwe_noise_distribution =
|
||||
/// Gaussian::from_dispersion_parameter(StandardDev(0.00000000000000029403601535432533), 0.0);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2);
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2);
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Create the PRNG
|
||||
@@ -182,7 +182,7 @@ pub fn allocate_and_generate_new_lwe_multi_bit_bootstrap_key<
|
||||
output_glwe_secret_key: &GlweSecretKey<OutputKeyCont>,
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
noise_distribution: NoiseDistribution,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
generator: &mut EncryptionRandomGenerator<Gen>,
|
||||
@@ -232,7 +232,7 @@ where
|
||||
/// let polynomial_size = PolynomialSize(1024);
|
||||
/// let glwe_noise_distribution =
|
||||
/// Gaussian::from_dispersion_parameter(StandardDev(0.00000000000000029403601535432533), 0.0);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2);
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2);
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Create the PRNG
|
||||
@@ -436,7 +436,7 @@ pub fn par_allocate_and_generate_new_lwe_multi_bit_bootstrap_key<
|
||||
output_glwe_secret_key: &GlweSecretKey<OutputKeyCont>,
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
noise_distribution: NoiseDistribution,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
generator: &mut EncryptionRandomGenerator<Gen>,
|
||||
@@ -612,7 +612,7 @@ pub fn allocate_and_generate_new_seeded_lwe_multi_bit_bootstrap_key<
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
noise_distribution: NoiseDistribution,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
noise_seeder: &mut NoiseSeeder,
|
||||
) -> SeededLweMultiBitBootstrapKeyOwned<Scalar>
|
||||
@@ -766,7 +766,7 @@ pub fn par_allocate_and_generate_new_seeded_lwe_multi_bit_bootstrap_key<
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
noise_distribution: NoiseDistribution,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
noise_seeder: &mut NoiseSeeder,
|
||||
) -> SeededLweMultiBitBootstrapKeyOwned<Scalar>
|
||||
|
||||
@@ -22,7 +22,7 @@ pub use super::lwe_programmable_bootstrapping::generate_programmable_bootstrap_g
|
||||
|
||||
pub fn modulus_switch_multi_bit<Scalar>(
|
||||
ciphertext_modulus_log: CiphertextModulusLog,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
lwe_mask_elements: &[Scalar],
|
||||
) -> impl Iterator<Item = usize> + '_
|
||||
where
|
||||
@@ -46,7 +46,7 @@ where
|
||||
// Returns an iterator of booleans (as usize), corresponding to successive mask group elements
|
||||
// to indicate if they must be used at the given power_set_index
|
||||
pub(crate) fn selection_bit(
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
power_set_index: usize,
|
||||
) -> impl Iterator<Item = usize> {
|
||||
debug_assert!(power_set_index < grouping_factor.multi_bit_power_set_size().0);
|
||||
@@ -72,7 +72,7 @@ pub struct StandardMultiBitModulusSwitchedCt<
|
||||
C: Container<Element = Scalar> + Sync,
|
||||
> {
|
||||
pub input: &'a LweCiphertext<C>,
|
||||
pub grouping_factor: LweBskGroupingFactor,
|
||||
pub grouping_factor: MultiBitGroupingFactor,
|
||||
pub log_modulus: CiphertextModulusLog,
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ pub fn prepare_multi_bit_ggsw_mem_optimized<GgswBufferCont, GgswGroupCont, Fouri
|
||||
/// Gaussian::from_dispersion_parameter(StandardDev(0.00000000000000029403601535432533), 0.0);
|
||||
/// let pbs_base_log = DecompositionBaseLog(23);
|
||||
/// let pbs_level = DecompositionLevelCount(1);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2); // Group bits in pairs
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2); // Group bits in pairs
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Request the best seeder possible, starting with hardware entropy sources and falling back to
|
||||
@@ -843,7 +843,7 @@ pub fn multi_bit_deterministic_blind_rotate_assign<Scalar, OutputCont, KeyCont>(
|
||||
/// Gaussian::from_dispersion_parameter(StandardDev(0.00000000000000029403601535432533), 0.0);
|
||||
/// let pbs_base_log = DecompositionBaseLog(23);
|
||||
/// let pbs_level = DecompositionLevelCount(1);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2); // Group bits in pairs
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2); // Group bits in pairs
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Request the best seeder possible, starting with hardware entropy sources and falling back to
|
||||
|
||||
@@ -6,8 +6,8 @@ use crate::core_crypto::commons::math::random::{
|
||||
};
|
||||
use crate::core_crypto::commons::math::torus::UnsignedTorus;
|
||||
use crate::core_crypto::commons::parameters::{
|
||||
CiphertextModulus, DecompositionBaseLog, DecompositionLevelCount, GlweDimension,
|
||||
LweBskGroupingFactor, LweDimension, PolynomialSize,
|
||||
CiphertextModulus, DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweDimension,
|
||||
MultiBitGroupingFactor, PolynomialSize,
|
||||
};
|
||||
use crate::core_crypto::commons::test_tools::new_secret_random_generator;
|
||||
use crate::core_crypto::entities::*;
|
||||
@@ -36,7 +36,7 @@ fn test_parallel_and_seeded_multi_bit_bsk_gen_equivalence<
|
||||
let base_log = DecompositionBaseLog(
|
||||
crate::core_crypto::commons::test_tools::random_usize_between(2..5),
|
||||
);
|
||||
let grouping_factor = LweBskGroupingFactor(
|
||||
let grouping_factor = MultiBitGroupingFactor(
|
||||
crate::core_crypto::commons::test_tools::random_usize_between(2..4),
|
||||
);
|
||||
let mask_seed = Seed(crate::core_crypto::commons::test_tools::any_usize() as u128);
|
||||
|
||||
@@ -192,7 +192,7 @@ pub const MULTI_BIT_2_2_2_PARAMS: MultiBitTestParams<u64> = MultiBitTestParams {
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(4),
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
thread_count: ThreadCount(5),
|
||||
};
|
||||
|
||||
@@ -210,7 +210,7 @@ pub const MULTI_BIT_3_3_2_PARAMS: MultiBitTestParams<u64> = MultiBitTestParams {
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(6),
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
thread_count: ThreadCount(5),
|
||||
};
|
||||
|
||||
@@ -228,7 +228,7 @@ pub const MULTI_BIT_2_2_2_CUSTOM_MOD_PARAMS: MultiBitTestParams<u64> = MultiBitT
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(3),
|
||||
ciphertext_modulus: CiphertextModulus::new(1 << 63),
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
thread_count: ThreadCount(5),
|
||||
};
|
||||
|
||||
@@ -246,7 +246,7 @@ pub const MULTI_BIT_2_2_3_PARAMS: MultiBitTestParams<u64> = MultiBitTestParams {
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(4),
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
thread_count: ThreadCount(12),
|
||||
};
|
||||
|
||||
@@ -264,7 +264,7 @@ pub const MULTI_BIT_3_3_3_PARAMS: MultiBitTestParams<u64> = MultiBitTestParams {
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(6),
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
thread_count: ThreadCount(5),
|
||||
};
|
||||
|
||||
@@ -282,7 +282,7 @@ pub const MULTI_BIT_2_2_3_CUSTOM_MOD_PARAMS: MultiBitTestParams<u64> = MultiBitT
|
||||
)),
|
||||
message_modulus_log: MessageModulusLog(3),
|
||||
ciphertext_modulus: CiphertextModulus::new(1 << 63),
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
thread_count: ThreadCount(12),
|
||||
};
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ fn assert_ms_compression<Scalar: UnsignedTorus + CastInto<usize> + CastFrom<usiz
|
||||
fn assert_ms_multi_bit_compression<Scalar: UnsignedTorus + CastInto<usize> + CastFrom<usize>>(
|
||||
ct: &LweCiphertext<Vec<Scalar>>,
|
||||
log_modulus: CiphertextModulusLog,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
let a = StandardMultiBitModulusSwitchedCt {
|
||||
input: ct,
|
||||
@@ -124,7 +124,7 @@ fn test_ms_with_packing() {
|
||||
|
||||
assert_ms_compression(&lwe_ciphertext_in, log_modulus);
|
||||
|
||||
for grouping_factor in (1..6).map(LweBskGroupingFactor) {
|
||||
for grouping_factor in (1..6).map(MultiBitGroupingFactor) {
|
||||
if lwe_dimension.0 % grouping_factor.0 == 0 {
|
||||
assert_ms_multi_bit_compression(
|
||||
&lwe_ciphertext_in,
|
||||
|
||||
@@ -75,7 +75,7 @@ pub struct MultiBitTestParams<Scalar: UnsignedInteger> {
|
||||
pub glwe_noise_distribution: DynamicDistribution<Scalar>,
|
||||
pub message_modulus_log: MessageModulusLog,
|
||||
pub ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
pub grouping_factor: LweBskGroupingFactor,
|
||||
pub grouping_factor: MultiBitGroupingFactor,
|
||||
pub thread_count: ThreadCount,
|
||||
}
|
||||
|
||||
|
||||
@@ -219,9 +219,9 @@ pub struct ThreadCount(pub usize);
|
||||
|
||||
/// The number of key bits grouped together in the multi_bit PBS
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone, Serialize, Deserialize)]
|
||||
pub struct LweBskGroupingFactor(pub usize);
|
||||
pub struct MultiBitGroupingFactor(pub usize);
|
||||
|
||||
impl LweBskGroupingFactor {
|
||||
impl MultiBitGroupingFactor {
|
||||
pub fn multi_bit_power_set_size(&self) -> MultiBitPowerSetSize {
|
||||
MultiBitPowerSetSize(1 << self.0)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ use itertools::Itertools;
|
||||
/// Gaussian::from_dispersion_parameter(StandardDev(0.00000000000000029403601535432533), 0.0);
|
||||
/// let pbs_base_log = DecompositionBaseLog(23);
|
||||
/// let pbs_level = DecompositionLevelCount(1);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2); // Group bits in pairs
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2); // Group bits in pairs
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// let log_modulus = polynomial_size.to_blind_rotation_input_modulus_log();
|
||||
@@ -172,7 +172,7 @@ pub struct CompressedModulusSwitchedMultiBitLweCiphertext<
|
||||
packed_diffs: Option<PackedIntegers<usize>>,
|
||||
lwe_dimension: LweDimension,
|
||||
uncompressed_ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
}
|
||||
|
||||
impl<Scalar: UnsignedInteger + CastInto<usize> + CastFrom<usize>>
|
||||
@@ -183,7 +183,7 @@ impl<Scalar: UnsignedInteger + CastInto<usize> + CastFrom<usize>>
|
||||
pub fn compress<Cont: Container<Element = Scalar>>(
|
||||
ct: &LweCiphertext<Cont>,
|
||||
log_modulus: CiphertextModulusLog,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) -> Self {
|
||||
let uncompressed_ciphertext_modulus = ct.ciphertext_modulus();
|
||||
|
||||
@@ -372,7 +372,7 @@ impl<Scalar: UnsignedInteger + CastInto<usize> + CastFrom<usize>>
|
||||
pub struct FromCompressionMultiBitModulusSwitchedCt {
|
||||
switched_modulus_input_lwe_body: usize,
|
||||
switched_modulus_input_mask_per_group: Vec<usize>,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
lwe_dimension: LweDimension,
|
||||
}
|
||||
|
||||
|
||||
@@ -726,7 +726,7 @@ pub struct LweCiphertextParameters<T: UnsignedInteger> {
|
||||
#[derive(Copy, Clone)]
|
||||
pub enum MsDecompressionType {
|
||||
ClassicPbs,
|
||||
MultiBitPbs(LweBskGroupingFactor),
|
||||
MultiBitPbs(MultiBitGroupingFactor),
|
||||
}
|
||||
|
||||
impl<C: Container> ParameterSetConformant for LweCiphertext<C>
|
||||
|
||||
@@ -18,7 +18,7 @@ where
|
||||
// GgswCiphertextList and use Deref to have access to all the primitives of the
|
||||
// GgswCiphertextList easily
|
||||
ggsw_list: GgswCiphertextList<C>,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
}
|
||||
|
||||
impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> std::ops::Deref
|
||||
@@ -44,7 +44,7 @@ pub fn lwe_multi_bit_bootstrap_key_size(
|
||||
glwe_size: GlweSize,
|
||||
polynomial_size: PolynomialSize,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) -> Result<usize, &'static str> {
|
||||
if input_lwe_dimension.0 % grouping_factor.0 != 0 {
|
||||
return Err("lwe_multi_bit_bootstrap_key_size error: \
|
||||
@@ -68,7 +68,7 @@ pub fn lwe_multi_bit_bootstrap_key_fork_config<Scalar, MaskDistribution, NoiseDi
|
||||
glwe_size: GlweSize,
|
||||
polynomial_size: PolynomialSize,
|
||||
decomposition_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
mask_distribution: MaskDistribution,
|
||||
noise_distribution: NoiseDistribution,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
@@ -130,7 +130,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweMultiBitBootstr
|
||||
/// let decomp_base_log = DecompositionBaseLog(8);
|
||||
/// let decomp_level_count = DecompositionLevelCount(3);
|
||||
/// let input_lwe_dimension = LweDimension(600);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2);
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2);
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Create a new LweMultiBitBootstrapKey
|
||||
@@ -205,7 +205,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweMultiBitBootstr
|
||||
polynomial_size: PolynomialSize,
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
ciphertext_modulus: CiphertextModulus<C::Element>,
|
||||
) -> Self {
|
||||
let bsk = Self {
|
||||
@@ -257,10 +257,10 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> LweMultiBitBootstr
|
||||
.to_equivalent_lwe_dimension(self.polynomial_size())
|
||||
}
|
||||
|
||||
/// Return the [`LweBskGroupingFactor`] of the current [`LweMultiBitBootstrapKey`].
|
||||
/// Return the [`MultiBitGroupingFactor`] of the current [`LweMultiBitBootstrapKey`].
|
||||
///
|
||||
/// See [`LweMultiBitBootstrapKey::from_container`] for usage.
|
||||
pub fn grouping_factor(&self) -> LweBskGroupingFactor {
|
||||
pub fn grouping_factor(&self) -> MultiBitGroupingFactor {
|
||||
self.grouping_factor
|
||||
}
|
||||
|
||||
@@ -353,7 +353,7 @@ impl<Scalar: UnsignedInteger> LweMultiBitBootstrapKeyOwned<Scalar> {
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
input_lwe_dimension: LweDimension,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
) -> Self {
|
||||
assert!(
|
||||
@@ -389,7 +389,7 @@ pub struct FourierLweMultiBitBootstrapKey<C: Container<Element = c64>> {
|
||||
glwe_size: GlweSize,
|
||||
decomposition_base_log: DecompositionBaseLog,
|
||||
decomposition_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
}
|
||||
|
||||
pub type FourierLweMultiBitBootstrapKeyOwned = FourierLweMultiBitBootstrapKey<ABox<[c64]>>;
|
||||
@@ -404,7 +404,7 @@ impl<C: Container<Element = c64>> FourierLweMultiBitBootstrapKey<C> {
|
||||
polynomial_size: PolynomialSize,
|
||||
decomposition_base_log: DecompositionBaseLog,
|
||||
decomposition_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) -> Self {
|
||||
assert!(
|
||||
input_lwe_dimension.0 % grouping_factor.0 == 0,
|
||||
@@ -485,7 +485,7 @@ impl<C: Container<Element = c64>> FourierLweMultiBitBootstrapKey<C> {
|
||||
LweDimension((self.glwe_size.0 - 1) * self.polynomial_size().0)
|
||||
}
|
||||
|
||||
pub fn grouping_factor(&self) -> LweBskGroupingFactor {
|
||||
pub fn grouping_factor(&self) -> MultiBitGroupingFactor {
|
||||
self.grouping_factor
|
||||
}
|
||||
|
||||
@@ -549,7 +549,7 @@ impl FourierLweMultiBitBootstrapKeyOwned {
|
||||
polynomial_size: PolynomialSize,
|
||||
decomposition_base_log: DecompositionBaseLog,
|
||||
decomposition_level_count: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) -> Self {
|
||||
assert!(
|
||||
input_lwe_dimension.0 % grouping_factor.0 == 0,
|
||||
|
||||
@@ -26,7 +26,7 @@ where
|
||||
// GgswCiphertextList and use Deref to have access to all the primitives of the
|
||||
// SeededGgswCiphertextList easily
|
||||
ggsw_list: SeededGgswCiphertextList<C>,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
}
|
||||
|
||||
impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> std::ops::Deref
|
||||
@@ -72,7 +72,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweMultiBitB
|
||||
/// let decomp_base_log = DecompositionBaseLog(8);
|
||||
/// let decomp_level_count = DecompositionLevelCount(3);
|
||||
/// let input_lwe_dimension = LweDimension(600);
|
||||
/// let grouping_factor = LweBskGroupingFactor(2);
|
||||
/// let grouping_factor = MultiBitGroupingFactor(2);
|
||||
/// let ciphertext_modulus = CiphertextModulus::new_native();
|
||||
///
|
||||
/// // Get a seeder
|
||||
@@ -177,7 +177,7 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweMultiBitB
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
compression_seed: CompressionSeed,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
ciphertext_modulus: CiphertextModulus<C::Element>,
|
||||
) -> Self {
|
||||
assert!(
|
||||
@@ -236,10 +236,10 @@ impl<Scalar: UnsignedInteger, C: Container<Element = Scalar>> SeededLweMultiBitB
|
||||
.to_equivalent_lwe_dimension(self.polynomial_size())
|
||||
}
|
||||
|
||||
/// Return the [`LweBskGroupingFactor`] of the current [`LweMultiBitBootstrapKey`].
|
||||
/// Return the [`MultiBitGroupingFactor`] of the current [`LweMultiBitBootstrapKey`].
|
||||
///
|
||||
/// See [`SeededLweMultiBitBootstrapKey::from_container`] for usage.
|
||||
pub fn grouping_factor(&self) -> LweBskGroupingFactor {
|
||||
pub fn grouping_factor(&self) -> MultiBitGroupingFactor {
|
||||
self.grouping_factor
|
||||
}
|
||||
|
||||
@@ -412,7 +412,7 @@ impl<Scalar: UnsignedInteger> SeededLweMultiBitBootstrapKeyOwned<Scalar> {
|
||||
decomp_base_log: DecompositionBaseLog,
|
||||
decomp_level_count: DecompositionLevelCount,
|
||||
input_lwe_dimension: LweDimension,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
compression_seed: CompressionSeed,
|
||||
ciphertext_modulus: CiphertextModulus<Scalar>,
|
||||
) -> Self {
|
||||
|
||||
@@ -4,7 +4,7 @@ use crate::core_crypto::gpu::{
|
||||
};
|
||||
use crate::core_crypto::prelude::{
|
||||
lwe_multi_bit_bootstrap_key_size, Container, DecompositionBaseLog, DecompositionLevelCount,
|
||||
GlweDimension, LweBskGroupingFactor, LweDimension, LweMultiBitBootstrapKey, PolynomialSize,
|
||||
GlweDimension, LweDimension, LweMultiBitBootstrapKey, MultiBitGroupingFactor, PolynomialSize,
|
||||
UnsignedInteger,
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@ pub struct CudaLweMultiBitBootstrapKey {
|
||||
// Decomposition level count
|
||||
pub(crate) decomp_level_count: DecompositionLevelCount,
|
||||
// Grouping factor
|
||||
pub(crate) grouping_factor: LweBskGroupingFactor,
|
||||
pub(crate) grouping_factor: MultiBitGroupingFactor,
|
||||
}
|
||||
|
||||
impl CudaLweMultiBitBootstrapKey {
|
||||
@@ -105,7 +105,7 @@ impl CudaLweMultiBitBootstrapKey {
|
||||
self.decomp_level_count
|
||||
}
|
||||
|
||||
pub(crate) fn grouping_factor(&self) -> LweBskGroupingFactor {
|
||||
pub(crate) fn grouping_factor(&self) -> MultiBitGroupingFactor {
|
||||
self.grouping_factor
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ pub mod vec;
|
||||
use crate::core_crypto::gpu::vec::CudaVec;
|
||||
use crate::core_crypto::prelude::{
|
||||
CiphertextModulus, DecompositionBaseLog, DecompositionLevelCount, GlweCiphertextCount,
|
||||
GlweDimension, LweBskGroupingFactor, LweCiphertextCount, LweCiphertextIndex, LweDimension,
|
||||
GlweDimension, LweCiphertextCount, LweCiphertextIndex, LweDimension, MultiBitGroupingFactor,
|
||||
PolynomialSize, UnsignedInteger,
|
||||
};
|
||||
pub use algorithms::*;
|
||||
@@ -157,7 +157,7 @@ pub unsafe fn programmable_bootstrap_multi_bit_async<T: UnsignedInteger>(
|
||||
polynomial_size: PolynomialSize,
|
||||
base_log: DecompositionBaseLog,
|
||||
level: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
num_samples: u32,
|
||||
lwe_idx: LweCiphertextIndex,
|
||||
) {
|
||||
@@ -303,7 +303,7 @@ pub unsafe fn convert_lwe_multi_bit_programmable_bootstrap_key_async<T: Unsigned
|
||||
glwe_dim: GlweDimension,
|
||||
l_gadget: DecompositionLevelCount,
|
||||
polynomial_size: PolynomialSize,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
let size = std::mem::size_of_val(src);
|
||||
assert_eq!(dest.len() * std::mem::size_of::<T>(), size);
|
||||
|
||||
@@ -5,8 +5,8 @@ use crate::core_crypto::gpu::slice::{CudaSlice, CudaSliceMut};
|
||||
use crate::core_crypto::gpu::vec::CudaVec;
|
||||
use crate::core_crypto::gpu::{get_max_shared_memory, CudaStreams};
|
||||
use crate::core_crypto::prelude::{
|
||||
DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweBskGroupingFactor,
|
||||
LweDimension, Numeric, PolynomialSize, UnsignedInteger,
|
||||
DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweDimension,
|
||||
MultiBitGroupingFactor, Numeric, PolynomialSize, UnsignedInteger,
|
||||
};
|
||||
use crate::integer::{ClientKey, RadixClientKey};
|
||||
use crate::shortint::{CarryModulus, MessageModulus};
|
||||
@@ -211,7 +211,7 @@ pub unsafe fn unchecked_scalar_mul_integer_radix_kb_async<T: UnsignedInteger, B:
|
||||
num_blocks: u32,
|
||||
num_scalars: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -327,7 +327,7 @@ pub unsafe fn unchecked_mul_integer_radix_kb_assign_async<T: UnsignedInteger, B:
|
||||
ks_level: DecompositionLevelCount,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -413,7 +413,7 @@ pub unsafe fn unchecked_bitop_integer_radix_kb_assign_async<T: UnsignedInteger,
|
||||
op: BitOpType,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -497,7 +497,7 @@ pub unsafe fn unchecked_bitnot_integer_radix_kb_assign_async<T: UnsignedInteger,
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -580,7 +580,7 @@ pub unsafe fn unchecked_scalar_bitop_integer_radix_kb_assign_async<
|
||||
op: BitOpType,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -670,7 +670,7 @@ pub unsafe fn unchecked_comparison_integer_radix_kb_async<T: UnsignedInteger, B:
|
||||
op: ComparisonType,
|
||||
is_signed: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -767,7 +767,7 @@ pub unsafe fn unchecked_scalar_comparison_integer_radix_kb_async<T: UnsignedInte
|
||||
op: ComparisonType,
|
||||
signed_with_positive_scalar: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -859,7 +859,7 @@ pub unsafe fn full_propagate_assign_async<T: UnsignedInteger, B: Numeric>(
|
||||
message_modulus: MessageModulus,
|
||||
carry_modulus: CarryModulus,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -938,7 +938,7 @@ pub unsafe fn propagate_single_carry_assign_async<T: UnsignedInteger, B: Numeric
|
||||
message_modulus: MessageModulus,
|
||||
carry_modulus: CarryModulus,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1019,7 +1019,7 @@ pub unsafe fn unchecked_scalar_left_shift_integer_radix_kb_assign_async<
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1101,7 +1101,7 @@ pub unsafe fn unchecked_scalar_logical_right_shift_integer_radix_kb_assign_async
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1183,7 +1183,7 @@ pub unsafe fn unchecked_scalar_arithmetic_right_shift_integer_radix_kb_assign_as
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1266,7 +1266,7 @@ pub unsafe fn unchecked_right_shift_integer_radix_kb_assign_async<
|
||||
num_blocks: u32,
|
||||
is_signed: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1352,7 +1352,7 @@ pub unsafe fn unchecked_left_shift_integer_radix_kb_assign_async<T: UnsignedInte
|
||||
num_blocks: u32,
|
||||
is_signed: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1441,7 +1441,7 @@ pub unsafe fn unchecked_rotate_right_integer_radix_kb_assign_async<
|
||||
num_blocks: u32,
|
||||
is_signed: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1530,7 +1530,7 @@ pub unsafe fn unchecked_rotate_left_integer_radix_kb_assign_async<
|
||||
num_blocks: u32,
|
||||
is_signed: bool,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1617,7 +1617,7 @@ pub unsafe fn unchecked_cmux_integer_radix_kb_async<T: UnsignedInteger, B: Numer
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1715,7 +1715,7 @@ pub unsafe fn unchecked_scalar_rotate_left_integer_radix_kb_assign_async<
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1797,7 +1797,7 @@ pub unsafe fn unchecked_scalar_rotate_right_integer_radix_kb_assign_async<
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1879,7 +1879,7 @@ pub unsafe fn unchecked_sum_ciphertexts_integer_radix_kb_assign_async<
|
||||
num_blocks: u32,
|
||||
num_radixes: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -1968,7 +1968,7 @@ pub unsafe fn unchecked_unsigned_overflowing_sub_integer_radix_kb_assign_async<
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -2063,7 +2063,7 @@ pub unsafe fn apply_univariate_lut_kb_async<T: UnsignedInteger, B: Numeric>(
|
||||
message_modulus: MessageModulus,
|
||||
carry_modulus: CarryModulus,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
assert_eq!(
|
||||
streams.gpu_indexes[0],
|
||||
@@ -2151,7 +2151,7 @@ pub unsafe fn unchecked_unsigned_div_rem_integer_radix_kb_assign_async<
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
num_blocks: u32,
|
||||
pbs_type: PBSType,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) {
|
||||
let mut mem_ptr: *mut i8 = std::ptr::null_mut();
|
||||
scratch_cuda_integer_div_rem_radix_ciphertext_kb_64(
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::core_crypto::gpu::lwe_ciphertext_list::CudaLweCiphertextList;
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::{CudaIntegerRadixCiphertext, CudaUnsignedRadixCiphertext};
|
||||
use crate::integer::gpu::server_key::{CudaBootstrappingKey, CudaServerKey};
|
||||
use crate::integer::gpu::{
|
||||
@@ -285,7 +285,7 @@ impl CudaServerKey {
|
||||
num_blocks.0 as u32,
|
||||
radix_count_in_vec as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
use crate::integer::gpu::{
|
||||
@@ -93,7 +93,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -236,7 +236,7 @@ impl CudaServerKey {
|
||||
op,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::boolean_value::CudaBooleanBlock;
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
@@ -47,7 +47,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::core_crypto::gpu::lwe_ciphertext_list::CudaLweCiphertextList;
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweBskGroupingFactor, LweCiphertextCount};
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweCiphertextCount, MultiBitGroupingFactor};
|
||||
use crate::integer::gpu::ciphertext::boolean_value::CudaBooleanBlock;
|
||||
use crate::integer::gpu::ciphertext::info::CudaRadixCiphertextInfo;
|
||||
use crate::integer::gpu::ciphertext::{CudaIntegerRadixCiphertext, CudaRadixCiphertext};
|
||||
@@ -77,7 +77,7 @@ impl CudaServerKey {
|
||||
op,
|
||||
T::IS_SIGNED,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -989,7 +989,7 @@ impl CudaServerKey {
|
||||
ComparisonType::MAX,
|
||||
T::IS_SIGNED,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -1088,7 +1088,7 @@ impl CudaServerKey {
|
||||
ComparisonType::MIN,
|
||||
T::IS_SIGNED,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::{CudaIntegerRadixCiphertext, CudaUnsignedRadixCiphertext};
|
||||
use crate::integer::gpu::server_key::{CudaBootstrappingKey, CudaServerKey};
|
||||
use crate::integer::gpu::{unchecked_unsigned_div_rem_integer_radix_kb_assign_async, PBSType};
|
||||
@@ -45,7 +45,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
num_blocks,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -3,7 +3,7 @@ use crate::core_crypto::gpu::lwe_ciphertext_list::CudaLweCiphertextList;
|
||||
use crate::core_crypto::gpu::vec::CudaVec;
|
||||
use crate::core_crypto::gpu::{CudaLweList, CudaStreams};
|
||||
use crate::core_crypto::prelude::{
|
||||
ContiguousEntityContainerMut, LweBskGroupingFactor, LweCiphertextCount,
|
||||
ContiguousEntityContainerMut, LweCiphertextCount, MultiBitGroupingFactor,
|
||||
};
|
||||
use crate::integer::block_decomposition::{BlockDecomposer, DecomposableInto};
|
||||
use crate::integer::gpu::ciphertext::info::{CudaBlockInfo, CudaRadixCiphertextInfo};
|
||||
@@ -187,7 +187,7 @@ impl CudaServerKey {
|
||||
ciphertext.info.blocks.first().unwrap().message_modulus,
|
||||
ciphertext.info.blocks.first().unwrap().carry_modulus,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -246,7 +246,7 @@ impl CudaServerKey {
|
||||
ciphertext.info.blocks.first().unwrap().message_modulus,
|
||||
ciphertext.info.blocks.first().unwrap().carry_modulus,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -640,7 +640,7 @@ impl CudaServerKey {
|
||||
self.message_modulus,
|
||||
self.carry_modulus,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::{CudaBootstrappingKey, CudaServerKey};
|
||||
use crate::integer::gpu::{unchecked_mul_integer_radix_kb_assign_async, PBSType};
|
||||
@@ -91,7 +91,7 @@ impl CudaServerKey {
|
||||
self.key_switching_key.decomposition_level_count(),
|
||||
num_blocks,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::{CudaIntegerRadixCiphertext, CudaUnsignedRadixCiphertext};
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
use crate::integer::gpu::{
|
||||
@@ -48,7 +48,7 @@ impl CudaServerKey {
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
is_signed,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -167,7 +167,7 @@ impl CudaServerKey {
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
is_signed,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::core_crypto::gpu::vec::CudaVec;
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::block_decomposition::{BlockDecomposer, DecomposableInto};
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
@@ -58,7 +58,7 @@ impl CudaServerKey {
|
||||
op,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::core_crypto::gpu::lwe_ciphertext_list::CudaLweCiphertextList;
|
||||
use crate::core_crypto::gpu::vec::CudaVec;
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweBskGroupingFactor, LweCiphertextCount};
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweCiphertextCount, MultiBitGroupingFactor};
|
||||
use crate::integer::block_decomposition::{BlockDecomposer, DecomposableInto};
|
||||
use crate::integer::gpu::ciphertext::boolean_value::CudaBooleanBlock;
|
||||
use crate::integer::gpu::ciphertext::info::CudaRadixCiphertextInfo;
|
||||
@@ -199,7 +199,7 @@ impl CudaServerKey {
|
||||
op,
|
||||
signed_with_positive_scalar,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -361,7 +361,7 @@ impl CudaServerKey {
|
||||
op,
|
||||
T::IS_SIGNED,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::block_decomposition::{BlockDecomposer, DecomposableInto};
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::{CudaBootstrappingKey, CudaServerKey};
|
||||
@@ -124,7 +124,7 @@ impl CudaServerKey {
|
||||
num_blocks as u32,
|
||||
decomposed_scalar.len() as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::{CastFrom, LweBskGroupingFactor};
|
||||
use crate::core_crypto::prelude::{CastFrom, MultiBitGroupingFactor};
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
use crate::integer::gpu::{
|
||||
@@ -67,7 +67,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -174,7 +174,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::{CastFrom, LweBskGroupingFactor};
|
||||
use crate::core_crypto::prelude::{CastFrom, MultiBitGroupingFactor};
|
||||
use crate::integer::gpu::ciphertext::CudaIntegerRadixCiphertext;
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
use crate::integer::gpu::{
|
||||
@@ -69,7 +69,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -213,7 +213,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -268,7 +268,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::integer::gpu::ciphertext::{CudaIntegerRadixCiphertext, CudaUnsignedRadixCiphertext};
|
||||
use crate::integer::gpu::server_key::CudaBootstrappingKey;
|
||||
use crate::integer::gpu::{
|
||||
@@ -48,7 +48,7 @@ impl CudaServerKey {
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
is_signed,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
@@ -165,7 +165,7 @@ impl CudaServerKey {
|
||||
lwe_ciphertext_count.0 as u32,
|
||||
is_signed,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use crate::core_crypto::gpu::lwe_ciphertext_list::CudaLweCiphertextList;
|
||||
use crate::core_crypto::gpu::CudaStreams;
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweBskGroupingFactor, LweCiphertextCount};
|
||||
use crate::core_crypto::prelude::{CiphertextModulus, LweCiphertextCount, MultiBitGroupingFactor};
|
||||
use crate::integer::gpu::ciphertext::boolean_value::CudaBooleanBlock;
|
||||
use crate::integer::gpu::ciphertext::info::CudaRadixCiphertextInfo;
|
||||
use crate::integer::gpu::ciphertext::{
|
||||
@@ -400,7 +400,7 @@ impl CudaServerKey {
|
||||
d_bsk.decomp_base_log,
|
||||
num_blocks,
|
||||
PBSType::Classical,
|
||||
LweBskGroupingFactor(0),
|
||||
MultiBitGroupingFactor(0),
|
||||
);
|
||||
}
|
||||
CudaBootstrappingKey::MultiBit(d_multibit_bsk) => {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use super::ShortintEngine;
|
||||
use crate::core_crypto::algorithms::*;
|
||||
use crate::core_crypto::commons::parameters::{
|
||||
DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweBskGroupingFactor,
|
||||
LweDimension, PolynomialSize, ThreadCount,
|
||||
DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweDimension,
|
||||
MultiBitGroupingFactor, PolynomialSize, ThreadCount,
|
||||
};
|
||||
use crate::core_crypto::entities::*;
|
||||
use crate::shortint::ciphertext::MaxDegree;
|
||||
@@ -27,7 +27,7 @@ impl ShortintEngine {
|
||||
polynomial_size: PolynomialSize,
|
||||
pbs_base_log: DecompositionBaseLog,
|
||||
pbs_level: DecompositionLevelCount,
|
||||
grouping_factor: LweBskGroupingFactor,
|
||||
grouping_factor: MultiBitGroupingFactor,
|
||||
) -> ThreadCount {
|
||||
// TODO
|
||||
// Will be used later when we dynamically compute thread counts, put them in the public
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
//! This module provides the structure containing the cryptographic parameters only intended to be
|
||||
//! used to speed up test coverage operations.
|
||||
//! These parameters are *NOT safe*.
|
||||
use crate::core_crypto::prelude::LweBskGroupingFactor;
|
||||
use crate::core_crypto::prelude::MultiBitGroupingFactor;
|
||||
use crate::shortint::parameters::{
|
||||
DecompositionBaseLog, DecompositionLevelCount, DynamicDistribution, GlweDimension,
|
||||
LweDimension, PolynomialSize, StandardDev,
|
||||
@@ -100,7 +100,7 @@ pub const COVERAGE_PARAM_MULTI_BIT_MESSAGE_2_CARRY_2_GROUP_2_KS_PBS: MultiBitPBS
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ use crate::conformance::ListSizeConstraint;
|
||||
pub use crate::core_crypto::commons::dispersion::StandardDev;
|
||||
pub use crate::core_crypto::commons::parameters::{
|
||||
CiphertextModulus as CoreCiphertextModulus, DecompositionBaseLog, DecompositionLevelCount,
|
||||
DynamicDistribution, GlweDimension, LweBskGroupingFactor, LweDimension, PolynomialSize,
|
||||
DynamicDistribution, GlweDimension, LweDimension, MultiBitGroupingFactor, PolynomialSize,
|
||||
};
|
||||
use crate::core_crypto::prelude::{
|
||||
LweCiphertextListParameters, LweCiphertextParameters, MsDecompressionType,
|
||||
@@ -320,10 +320,10 @@ impl PBSParameters {
|
||||
Self::MultiBitPBS(params) => params.encryption_key_choice,
|
||||
}
|
||||
}
|
||||
pub const fn grouping_factor(&self) -> LweBskGroupingFactor {
|
||||
pub const fn grouping_factor(&self) -> MultiBitGroupingFactor {
|
||||
match self {
|
||||
Self::PBS(_) => {
|
||||
panic!("PBSParameters::PBS does not have an LweBskGroupingFactor")
|
||||
panic!("PBSParameters::PBS does not have an MultiBitGroupingFactor")
|
||||
}
|
||||
Self::MultiBitPBS(params) => params.grouping_factor,
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ use crate::shortint::ciphertext::{Degree, MaxNoiseLevel, NoiseLevel};
|
||||
use crate::shortint::parameters::p_fail_2_minus_40::ks_pbs::*;
|
||||
use crate::shortint::parameters::p_fail_2_minus_40::ks_pbs_gpu::*;
|
||||
use crate::shortint::parameters::{
|
||||
CarryModulus, CiphertextModulus, EncryptionKeyChoice, LweBskGroupingFactor, MessageModulus,
|
||||
CarryModulus, CiphertextModulus, EncryptionKeyChoice, MessageModulus, MultiBitGroupingFactor,
|
||||
};
|
||||
use crate::shortint::PBSOrder;
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -41,7 +41,7 @@ pub struct MultiBitPBSParameters {
|
||||
pub log2_p_fail: f64,
|
||||
pub ciphertext_modulus: CiphertextModulus,
|
||||
pub encryption_key_choice: EncryptionKeyChoice,
|
||||
pub grouping_factor: LweBskGroupingFactor,
|
||||
pub grouping_factor: MultiBitGroupingFactor,
|
||||
pub deterministic_execution: bool,
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.807,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.078, algorithmic cost ~ 59, 2-norm = 3
|
||||
@@ -45,7 +45,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.078,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.837, algorithmic cost ~ 73, 2-norm = 7
|
||||
@@ -70,7 +70,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.837,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.604, algorithmic cost ~ 257, 2-norm = 15
|
||||
@@ -95,7 +95,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.604,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.527, algorithmic cost ~ 582, 2-norm = 31
|
||||
@@ -120,7 +120,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.527,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.858, algorithmic cost ~ 1325, 2-norm = 63
|
||||
@@ -145,7 +145,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.858,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.851, algorithmic cost ~ 3949, 2-norm = 127
|
||||
@@ -170,7 +170,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.851,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.265, algorithmic cost ~ 16515, 2-norm = 255
|
||||
@@ -195,7 +195,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.265,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.01, algorithmic cost ~ 59, 2-norm = 1
|
||||
@@ -220,7 +220,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.01,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.89, algorithmic cost ~ 73, 2-norm = 2
|
||||
@@ -245,7 +245,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.89,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.314, algorithmic cost ~ 166, 2-norm = 5
|
||||
@@ -270,7 +270,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.314,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.029, algorithmic cost ~ 582, 2-norm = 10
|
||||
@@ -295,7 +295,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.029,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.111, algorithmic cost ~ 1307, 2-norm = 21
|
||||
@@ -320,7 +320,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.111,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.701, algorithmic cost ~ 3909, 2-norm = 42
|
||||
@@ -345,7 +345,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.701,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.125, algorithmic cost ~ 14443, 2-norm = 85
|
||||
@@ -370,7 +370,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.125,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.029, algorithmic cost ~ 73, 2-norm = 1
|
||||
@@ -395,7 +395,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.029,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.59, algorithmic cost ~ 165, 2-norm = 2
|
||||
@@ -420,7 +420,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.59,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.079, algorithmic cost ~ 582, 2-norm = 4
|
||||
@@ -445,7 +445,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.079,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.307, algorithmic cost ~ 1304, 2-norm = 9
|
||||
@@ -470,7 +470,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.307,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.47, algorithmic cost ~ 2973, 2-norm = 18
|
||||
@@ -495,7 +495,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.47,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.532, algorithmic cost ~ 12371, 2-norm = 36
|
||||
@@ -520,7 +520,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.532,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.97, algorithmic cost ~ 165, 2-norm = 1
|
||||
@@ -545,7 +545,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.97,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.377, algorithmic cost ~ 387, 2-norm = 2
|
||||
@@ -570,7 +570,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.377,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.724, algorithmic cost ~ 1304, 2-norm = 4
|
||||
@@ -595,7 +595,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.724,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.339, algorithmic cost ~ 2938, 2-norm = 8
|
||||
@@ -620,7 +620,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.339,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.88, algorithmic cost ~ 12371, 2-norm = 17
|
||||
@@ -645,7 +645,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.88,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.043, algorithmic cost ~ 375, 2-norm = 1
|
||||
@@ -670,7 +670,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.043,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.802, algorithmic cost ~ 1304, 2-norm = 2
|
||||
@@ -695,7 +695,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.802,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.765, algorithmic cost ~ 2932, 2-norm = 4
|
||||
@@ -720,7 +720,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.765,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.011, algorithmic cost ~ 10299, 2-norm = 8
|
||||
@@ -745,7 +745,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.011,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.821, algorithmic cost ~ 1304, 2-norm = 1
|
||||
@@ -770,7 +770,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.821,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.8, algorithmic cost ~ 2932, 2-norm = 2
|
||||
@@ -795,7 +795,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.8,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.954, algorithmic cost ~ 10299, 2-norm = 4
|
||||
@@ -820,7 +820,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.954,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-132.061, algorithmic cost ~ 2932, 2-norm = 1
|
||||
@@ -845,7 +845,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -132.061,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.192, algorithmic cost ~ 10299, 2-norm = 2
|
||||
@@ -870,7 +870,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.192,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.096, algorithmic cost ~ 8226, 2-norm = 1
|
||||
@@ -895,7 +895,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.096,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_2_VEC: [MultiBitPBSParameters; 36] = [
|
||||
@@ -957,7 +957,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -133.734,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.965, algorithmic cost ~ 60, 2-norm = 3
|
||||
@@ -982,7 +982,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.965,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.594, algorithmic cost ~ 70, 2-norm = 7
|
||||
@@ -1007,7 +1007,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.594,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.597, algorithmic cost ~ 254, 2-norm = 15
|
||||
@@ -1032,7 +1032,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.597,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.859, algorithmic cost ~ 568, 2-norm = 31
|
||||
@@ -1057,7 +1057,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.859,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.174, algorithmic cost ~ 1278, 2-norm = 63
|
||||
@@ -1082,7 +1082,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.174,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.714, algorithmic cost ~ 3854, 2-norm = 127
|
||||
@@ -1107,7 +1107,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.714,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.013, algorithmic cost ~ 60, 2-norm = 1
|
||||
@@ -1132,7 +1132,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.013,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-133.758, algorithmic cost ~ 70, 2-norm = 2
|
||||
@@ -1157,7 +1157,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -133.758,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.013, algorithmic cost ~ 157, 2-norm = 5
|
||||
@@ -1182,7 +1182,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.013,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-132.334, algorithmic cost ~ 568, 2-norm = 10
|
||||
@@ -1207,7 +1207,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -132.334,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-132.104, algorithmic cost ~ 1262, 2-norm = 21
|
||||
@@ -1232,7 +1232,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -132.104,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-134.071, algorithmic cost ~ 3808, 2-norm = 42
|
||||
@@ -1257,7 +1257,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -134.071,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-133.905, algorithmic cost ~ 70, 2-norm = 1
|
||||
@@ -1282,7 +1282,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -133.905,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.377, algorithmic cost ~ 156, 2-norm = 2
|
||||
@@ -1307,7 +1307,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.377,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-132.381, algorithmic cost ~ 568, 2-norm = 4
|
||||
@@ -1332,7 +1332,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -132.381,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.303, algorithmic cost ~ 1258, 2-norm = 9
|
||||
@@ -1357,7 +1357,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.303,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-131.11, algorithmic cost ~ 2850, 2-norm = 18
|
||||
@@ -1382,7 +1382,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -131.11,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-133.395, algorithmic cost ~ 156, 2-norm = 1
|
||||
@@ -1407,7 +1407,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -133.395,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.307, algorithmic cost ~ 357, 2-norm = 2
|
||||
@@ -1432,7 +1432,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.307,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.724, algorithmic cost ~ 1258, 2-norm = 4
|
||||
@@ -1457,7 +1457,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.724,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.689, algorithmic cost ~ 2807, 2-norm = 8
|
||||
@@ -1482,7 +1482,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.689,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-130.261, algorithmic cost ~ 350, 2-norm = 1
|
||||
@@ -1507,7 +1507,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -130.261,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.802, algorithmic cost ~ 1258, 2-norm = 2
|
||||
@@ -1532,7 +1532,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.802,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.179, algorithmic cost ~ 2799, 2-norm = 4
|
||||
@@ -1557,7 +1557,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.179,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.821, algorithmic cost ~ 1258, 2-norm = 1
|
||||
@@ -1582,7 +1582,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.821,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-129.289, algorithmic cost ~ 2799, 2-norm = 2
|
||||
@@ -1607,7 +1607,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -129.289,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-128.462, algorithmic cost ~ 2799, 2-norm = 1
|
||||
@@ -1632,7 +1632,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M128: Multi
|
||||
log2_p_fail: -128.462,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_3_VEC: [MultiBitPBSParameters; 28] = [
|
||||
|
||||
@@ -20,7 +20,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.132,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.724, algorithmic cost ~ 41, 2-norm = 3
|
||||
@@ -45,7 +45,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.724,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.179, algorithmic cost ~ 60, 2-norm = 7
|
||||
@@ -70,7 +70,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.179,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.051, algorithmic cost ~ 74, 2-norm = 15
|
||||
@@ -95,7 +95,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.051,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.545, algorithmic cost ~ 261, 2-norm = 31
|
||||
@@ -120,7 +120,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.545,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.131, algorithmic cost ~ 593, 2-norm = 63
|
||||
@@ -145,7 +145,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.131,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.063, algorithmic cost ~ 1771, 2-norm = 127
|
||||
@@ -170,7 +170,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.063,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.892, algorithmic cost ~ 4955, 2-norm = 255
|
||||
@@ -195,7 +195,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.892,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.616, algorithmic cost ~ 41, 2-norm = 1
|
||||
@@ -220,7 +220,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.616,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.078, algorithmic cost ~ 60, 2-norm = 2
|
||||
@@ -245,7 +245,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.078,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.374, algorithmic cost ~ 74, 2-norm = 5
|
||||
@@ -270,7 +270,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.374,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.607, algorithmic cost ~ 261, 2-norm = 10
|
||||
@@ -295,7 +295,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.607,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.265, algorithmic cost ~ 592, 2-norm = 21
|
||||
@@ -320,7 +320,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.265,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.526, algorithmic cost ~ 1330, 2-norm = 42
|
||||
@@ -345,7 +345,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.526,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.919, algorithmic cost ~ 3972, 2-norm = 85
|
||||
@@ -370,7 +370,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.919,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.546, algorithmic cost ~ 60, 2-norm = 1
|
||||
@@ -395,7 +395,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.546,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.72, algorithmic cost ~ 74, 2-norm = 2
|
||||
@@ -420,7 +420,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.72,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.17, algorithmic cost ~ 168, 2-norm = 4
|
||||
@@ -445,7 +445,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.17,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.341, algorithmic cost ~ 592, 2-norm = 9
|
||||
@@ -470,7 +470,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.341,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.766, algorithmic cost ~ 1322, 2-norm = 18
|
||||
@@ -495,7 +495,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.766,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.712, algorithmic cost ~ 3949, 2-norm = 36
|
||||
@@ -520,7 +520,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.712,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.769, algorithmic cost ~ 74, 2-norm = 1
|
||||
@@ -545,7 +545,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.769,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.29, algorithmic cost ~ 167, 2-norm = 2
|
||||
@@ -570,7 +570,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.29,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.355, algorithmic cost ~ 592, 2-norm = 4
|
||||
@@ -595,7 +595,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.355,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.126, algorithmic cost ~ 1319, 2-norm = 8
|
||||
@@ -620,7 +620,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.126,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.039, algorithmic cost ~ 3159, 2-norm = 17
|
||||
@@ -645,7 +645,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.039,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.937, algorithmic cost ~ 167, 2-norm = 1
|
||||
@@ -670,7 +670,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.937,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.242, algorithmic cost ~ 397, 2-norm = 2
|
||||
@@ -695,7 +695,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.242,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.2, algorithmic cost ~ 1319, 2-norm = 4
|
||||
@@ -720,7 +720,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.2,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.528, algorithmic cost ~ 2968, 2-norm = 8
|
||||
@@ -745,7 +745,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.528,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.096, algorithmic cost ~ 383, 2-norm = 1
|
||||
@@ -770,7 +770,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.096,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.259, algorithmic cost ~ 1319, 2-norm = 2
|
||||
@@ -795,7 +795,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.259,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.865, algorithmic cost ~ 2962, 2-norm = 4
|
||||
@@ -820,7 +820,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.865,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.277, algorithmic cost ~ 1319, 2-norm = 1
|
||||
@@ -845,7 +845,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.277,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.017, algorithmic cost ~ 2956, 2-norm = 2
|
||||
@@ -870,7 +870,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.017,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.105, algorithmic cost ~ 2956, 2-norm = 1
|
||||
@@ -895,7 +895,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.105,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_2_VEC: [MultiBitPBSParameters; 36] = [
|
||||
@@ -957,7 +957,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.217,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.579, algorithmic cost ~ 45, 2-norm = 3
|
||||
@@ -982,7 +982,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.579,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.202, algorithmic cost ~ 62, 2-norm = 7
|
||||
@@ -1007,7 +1007,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.202,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.417, algorithmic cost ~ 71, 2-norm = 15
|
||||
@@ -1032,7 +1032,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.417,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.01, algorithmic cost ~ 257, 2-norm = 31
|
||||
@@ -1057,7 +1057,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.01,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.795, algorithmic cost ~ 579, 2-norm = 63
|
||||
@@ -1082,7 +1082,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.795,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.317, algorithmic cost ~ 1745, 2-norm = 127
|
||||
@@ -1107,7 +1107,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.317,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.984, algorithmic cost ~ 4867, 2-norm = 255
|
||||
@@ -1132,7 +1132,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.984,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.148, algorithmic cost ~ 45, 2-norm = 1
|
||||
@@ -1157,7 +1157,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.148,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.095, algorithmic cost ~ 61, 2-norm = 2
|
||||
@@ -1182,7 +1182,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.095,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.843, algorithmic cost ~ 71, 2-norm = 5
|
||||
@@ -1207,7 +1207,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.843,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.024, algorithmic cost ~ 257, 2-norm = 10
|
||||
@@ -1232,7 +1232,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.024,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.592, algorithmic cost ~ 577, 2-norm = 21
|
||||
@@ -1257,7 +1257,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.592,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.493, algorithmic cost ~ 1282, 2-norm = 42
|
||||
@@ -1282,7 +1282,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.493,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.803, algorithmic cost ~ 3866, 2-norm = 85
|
||||
@@ -1307,7 +1307,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.803,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.102, algorithmic cost ~ 61, 2-norm = 1
|
||||
@@ -1332,7 +1332,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.102,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.843, algorithmic cost ~ 71, 2-norm = 2
|
||||
@@ -1357,7 +1357,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.843,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.823, algorithmic cost ~ 159, 2-norm = 4
|
||||
@@ -1382,7 +1382,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.823,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.662, algorithmic cost ~ 577, 2-norm = 9
|
||||
@@ -1407,7 +1407,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.662,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.76, algorithmic cost ~ 1274, 2-norm = 18
|
||||
@@ -1432,7 +1432,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.76,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.195, algorithmic cost ~ 3843, 2-norm = 36
|
||||
@@ -1457,7 +1457,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.195,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.018, algorithmic cost ~ 70, 2-norm = 1
|
||||
@@ -1482,7 +1482,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.018,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.188, algorithmic cost ~ 158, 2-norm = 2
|
||||
@@ -1507,7 +1507,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.188,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.674, algorithmic cost ~ 577, 2-norm = 4
|
||||
@@ -1532,7 +1532,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.674,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.382, algorithmic cost ~ 1274, 2-norm = 8
|
||||
@@ -1557,7 +1557,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.382,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.39, algorithmic cost ~ 3049, 2-norm = 17
|
||||
@@ -1582,7 +1582,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.39,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.39, algorithmic cost ~ 157, 2-norm = 1
|
||||
@@ -1607,7 +1607,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.39,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.012, algorithmic cost ~ 365, 2-norm = 2
|
||||
@@ -1632,7 +1632,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.012,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.496, algorithmic cost ~ 1274, 2-norm = 4
|
||||
@@ -1657,7 +1657,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.496,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.356, algorithmic cost ~ 2841, 2-norm = 8
|
||||
@@ -1682,7 +1682,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.356,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.668, algorithmic cost ~ 358, 2-norm = 1
|
||||
@@ -1707,7 +1707,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.668,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.124, algorithmic cost ~ 1274, 2-norm = 2
|
||||
@@ -1732,7 +1732,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.124,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-41.398, algorithmic cost ~ 2833, 2-norm = 4
|
||||
@@ -1757,7 +1757,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -41.398,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.124, algorithmic cost ~ 1274, 2-norm = 1
|
||||
@@ -1782,7 +1782,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.124,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.003, algorithmic cost ~ 2824, 2-norm = 2
|
||||
@@ -1807,7 +1807,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.003,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-40.102, algorithmic cost ~ 2824, 2-norm = 1
|
||||
@@ -1832,7 +1832,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M40: MultiB
|
||||
log2_p_fail: -40.102,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_3_VEC: [MultiBitPBSParameters; 36] = [
|
||||
|
||||
@@ -25,7 +25,7 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -50,7 +50,7 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -75,7 +75,7 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -101,7 +101,7 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -126,7 +126,7 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -151,6 +151,6 @@ pub const PARAM_GPU_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M40:
|
||||
log2_p_fail: -40.,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.277,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.218, algorithmic cost ~ 43, 2-norm = 3
|
||||
@@ -45,7 +45,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.218,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.054, algorithmic cost ~ 64, 2-norm = 7
|
||||
@@ -70,7 +70,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.054,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.041, algorithmic cost ~ 80, 2-norm = 15
|
||||
@@ -95,7 +95,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.041,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.467, algorithmic cost ~ 274, 2-norm = 31
|
||||
@@ -120,7 +120,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.467,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.391, algorithmic cost ~ 626, 2-norm = 63
|
||||
@@ -145,7 +145,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.391,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.419, algorithmic cost ~ 1893, 2-norm = 127
|
||||
@@ -170,7 +170,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.419,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.122, algorithmic cost ~ 10855, 2-norm = 255
|
||||
@@ -195,7 +195,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.122,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.149, algorithmic cost ~ 43, 2-norm = 1
|
||||
@@ -220,7 +220,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.149,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.18, algorithmic cost ~ 64, 2-norm = 2
|
||||
@@ -245,7 +245,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.18,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.26, algorithmic cost ~ 77, 2-norm = 5
|
||||
@@ -270,7 +270,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.26,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.214, algorithmic cost ~ 274, 2-norm = 10
|
||||
@@ -295,7 +295,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.214,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.004, algorithmic cost ~ 621, 2-norm = 21
|
||||
@@ -320,7 +320,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.004,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.114, algorithmic cost ~ 1882, 2-norm = 42
|
||||
@@ -345,7 +345,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.114,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.793, algorithmic cost ~ 10638, 2-norm = 85
|
||||
@@ -370,7 +370,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.793,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.202, algorithmic cost ~ 64, 2-norm = 1
|
||||
@@ -395,7 +395,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.202,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.29, algorithmic cost ~ 77, 2-norm = 2
|
||||
@@ -420,7 +420,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.29,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.144, algorithmic cost ~ 189, 2-norm = 4
|
||||
@@ -445,7 +445,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.144,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.207, algorithmic cost ~ 621, 2-norm = 9
|
||||
@@ -470,7 +470,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.207,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.021, algorithmic cost ~ 1423, 2-norm = 18
|
||||
@@ -495,7 +495,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.021,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.5, algorithmic cost ~ 8624, 2-norm = 36
|
||||
@@ -520,7 +520,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.5,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.1, algorithmic cost ~ 77, 2-norm = 1
|
||||
@@ -545,7 +545,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.1,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.054, algorithmic cost ~ 177, 2-norm = 2
|
||||
@@ -570,7 +570,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.054,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.243, algorithmic cost ~ 621, 2-norm = 4
|
||||
@@ -595,7 +595,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.243,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.377, algorithmic cost ~ 1414, 2-norm = 8
|
||||
@@ -620,7 +620,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.377,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.747, algorithmic cost ~ 8590, 2-norm = 17
|
||||
@@ -645,7 +645,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.747,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.609, algorithmic cost ~ 176, 2-norm = 1
|
||||
@@ -670,7 +670,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.609,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.25, algorithmic cost ~ 621, 2-norm = 2
|
||||
@@ -695,7 +695,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.25,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.153, algorithmic cost ~ 1411, 2-norm = 4
|
||||
@@ -720,7 +720,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.153,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-66.082, algorithmic cost ~ 6714, 2-norm = 8
|
||||
@@ -745,7 +745,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -66.082,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.063, algorithmic cost ~ 444, 2-norm = 1
|
||||
@@ -770,7 +770,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.063,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.231, algorithmic cost ~ 1411, 2-norm = 2
|
||||
@@ -795,7 +795,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.231,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.956, algorithmic cost ~ 6555, 2-norm = 4
|
||||
@@ -820,7 +820,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.956,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.25, algorithmic cost ~ 1411, 2-norm = 1
|
||||
@@ -845,7 +845,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.25,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.987, algorithmic cost ~ 6542, 2-norm = 2
|
||||
@@ -870,7 +870,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.987,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.33, algorithmic cost ~ 6529, 2-norm = 1
|
||||
@@ -895,7 +895,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.33,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_2_VEC: [MultiBitPBSParameters; 36] = [
|
||||
@@ -957,7 +957,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -66.257,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.549, algorithmic cost ~ 48, 2-norm = 3
|
||||
@@ -982,7 +982,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.549,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.513, algorithmic cost ~ 66, 2-norm = 7
|
||||
@@ -1007,7 +1007,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.513,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.283, algorithmic cost ~ 77, 2-norm = 15
|
||||
@@ -1032,7 +1032,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.283,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.118, algorithmic cost ~ 270, 2-norm = 31
|
||||
@@ -1057,7 +1057,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.118,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.107, algorithmic cost ~ 610, 2-norm = 63
|
||||
@@ -1082,7 +1082,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.107,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.014, algorithmic cost ~ 1861, 2-norm = 127
|
||||
@@ -1107,7 +1107,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.014,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.291, algorithmic cost ~ 10546, 2-norm = 255
|
||||
@@ -1132,7 +1132,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.291,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.106, algorithmic cost ~ 47, 2-norm = 1
|
||||
@@ -1157,7 +1157,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.106,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.797, algorithmic cost ~ 66, 2-norm = 2
|
||||
@@ -1182,7 +1182,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.797,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.251, algorithmic cost ~ 74, 2-norm = 5
|
||||
@@ -1207,7 +1207,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.251,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.157, algorithmic cost ~ 270, 2-norm = 10
|
||||
@@ -1232,7 +1232,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.157,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.03, algorithmic cost ~ 606, 2-norm = 21
|
||||
@@ -1257,7 +1257,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.03,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.07, algorithmic cost ~ 1849, 2-norm = 42
|
||||
@@ -1282,7 +1282,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.07,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.718, algorithmic cost ~ 9928, 2-norm = 85
|
||||
@@ -1307,7 +1307,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.718,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.816, algorithmic cost ~ 66, 2-norm = 1
|
||||
@@ -1332,7 +1332,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.816,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.135, algorithmic cost ~ 74, 2-norm = 2
|
||||
@@ -1357,7 +1357,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.135,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.28, algorithmic cost ~ 181, 2-norm = 4
|
||||
@@ -1382,7 +1382,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.28,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.211, algorithmic cost ~ 606, 2-norm = 9
|
||||
@@ -1407,7 +1407,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.211,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.192, algorithmic cost ~ 1375, 2-norm = 18
|
||||
@@ -1432,7 +1432,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.192,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.329, algorithmic cost ~ 8306, 2-norm = 36
|
||||
@@ -1457,7 +1457,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.329,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.341, algorithmic cost ~ 74, 2-norm = 1
|
||||
@@ -1482,7 +1482,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.341,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.358, algorithmic cost ~ 167, 2-norm = 2
|
||||
@@ -1507,7 +1507,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.358,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.244, algorithmic cost ~ 606, 2-norm = 4
|
||||
@@ -1532,7 +1532,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.244,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.627, algorithmic cost ~ 1367, 2-norm = 8
|
||||
@@ -1557,7 +1557,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.627,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.946, algorithmic cost ~ 8282, 2-norm = 17
|
||||
@@ -1582,7 +1582,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.946,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.559, algorithmic cost ~ 166, 2-norm = 1
|
||||
@@ -1607,7 +1607,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.559,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.186, algorithmic cost ~ 606, 2-norm = 2
|
||||
@@ -1632,7 +1632,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.186,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.152, algorithmic cost ~ 1363, 2-norm = 4
|
||||
@@ -1657,7 +1657,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.152,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-66.008, algorithmic cost ~ 7667, 2-norm = 8
|
||||
@@ -1682,7 +1682,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -66.008,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.011, algorithmic cost ~ 396, 2-norm = 1
|
||||
@@ -1707,7 +1707,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.011,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.231, algorithmic cost ~ 1363, 2-norm = 2
|
||||
@@ -1732,7 +1732,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.231,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.133, algorithmic cost ~ 6230, 2-norm = 4
|
||||
@@ -1757,7 +1757,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.133,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-64.25, algorithmic cost ~ 1363, 2-norm = 1
|
||||
@@ -1782,7 +1782,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -64.25,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-65.755, algorithmic cost ~ 6212, 2-norm = 2
|
||||
@@ -1807,7 +1807,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -65.755,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-66.791, algorithmic cost ~ 6212, 2-norm = 1
|
||||
@@ -1832,7 +1832,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M64: MultiB
|
||||
log2_p_fail: -66.791,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_3_VEC: [MultiBitPBSParameters; 36] = [
|
||||
|
||||
@@ -20,7 +20,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.098,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.117, algorithmic cost ~ 49, 2-norm = 3
|
||||
@@ -45,7 +45,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.117,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.205, algorithmic cost ~ 67, 2-norm = 7
|
||||
@@ -70,7 +70,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.205,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.068, algorithmic cost ~ 128, 2-norm = 15
|
||||
@@ -95,7 +95,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.068,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.023, algorithmic cost ~ 370, 2-norm = 31
|
||||
@@ -120,7 +120,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.023,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.928, algorithmic cost ~ 1282, 2-norm = 63
|
||||
@@ -145,7 +145,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.928,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.631, algorithmic cost ~ 3817, 2-norm = 127
|
||||
@@ -170,7 +170,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.631,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.351, algorithmic cost ~ 12869, 2-norm = 255
|
||||
@@ -195,7 +195,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.351,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.116, algorithmic cost ~ 46, 2-norm = 1
|
||||
@@ -220,7 +220,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.116,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.268, algorithmic cost ~ 67, 2-norm = 2
|
||||
@@ -245,7 +245,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.268,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.124, algorithmic cost ~ 87, 2-norm = 5
|
||||
@@ -270,7 +270,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.124,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.089, algorithmic cost ~ 370, 2-norm = 10
|
||||
@@ -295,7 +295,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.089,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.395, algorithmic cost ~ 1273, 2-norm = 21
|
||||
@@ -320,7 +320,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.395,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.101, algorithmic cost ~ 3802, 2-norm = 42
|
||||
@@ -345,7 +345,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.101,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.148, algorithmic cost ~ 10813, 2-norm = 85
|
||||
@@ -370,7 +370,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.148,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.303, algorithmic cost ~ 67, 2-norm = 1
|
||||
@@ -395,7 +395,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.303,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.01, algorithmic cost ~ 84, 2-norm = 2
|
||||
@@ -420,7 +420,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.01,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.095, algorithmic cost ~ 370, 2-norm = 4
|
||||
@@ -445,7 +445,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.095,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.288, algorithmic cost ~ 1273, 2-norm = 9
|
||||
@@ -470,7 +470,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.288,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.758, algorithmic cost ~ 2835, 2-norm = 18
|
||||
@@ -495,7 +495,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.758,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.051, algorithmic cost ~ 8774, 2-norm = 36
|
||||
@@ -520,7 +520,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.051,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.002, algorithmic cost ~ 83, 2-norm = 1
|
||||
@@ -545,7 +545,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.002,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.965, algorithmic cost ~ 365, 2-norm = 2
|
||||
@@ -570,7 +570,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.965,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.452, algorithmic cost ~ 1273, 2-norm = 4
|
||||
@@ -595,7 +595,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.452,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.947, algorithmic cost ~ 2819, 2-norm = 8
|
||||
@@ -620,7 +620,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.947,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.241, algorithmic cost ~ 8692, 2-norm = 17
|
||||
@@ -645,7 +645,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.241,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.824, algorithmic cost ~ 363, 2-norm = 1
|
||||
@@ -670,7 +670,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.824,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.482, algorithmic cost ~ 1273, 2-norm = 2
|
||||
@@ -695,7 +695,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.482,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.518, algorithmic cost ~ 2819, 2-norm = 4
|
||||
@@ -720,7 +720,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.518,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.495, algorithmic cost ~ 8093, 2-norm = 8
|
||||
@@ -745,7 +745,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.495,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.792, algorithmic cost ~ 847, 2-norm = 1
|
||||
@@ -770,7 +770,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.792,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.92, algorithmic cost ~ 2819, 2-norm = 2
|
||||
@@ -795,7 +795,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.92,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.141, algorithmic cost ~ 6701, 2-norm = 4
|
||||
@@ -820,7 +820,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.141,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.022, algorithmic cost ~ 2819, 2-norm = 1
|
||||
@@ -845,7 +845,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.022,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.607, algorithmic cost ~ 6620, 2-norm = 2
|
||||
@@ -870,7 +870,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.607,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.936, algorithmic cost ~ 6620, 2-norm = 1
|
||||
@@ -895,7 +895,7 @@ pub const PARAM_MULTI_BIT_GROUP_2_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.936,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(2),
|
||||
grouping_factor: MultiBitGroupingFactor(2),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_2_VEC: [MultiBitPBSParameters; 36] = [
|
||||
@@ -957,7 +957,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -85.386,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.148, algorithmic cost ~ 53, 2-norm = 3
|
||||
@@ -982,7 +982,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.148,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.45, algorithmic cost ~ 68, 2-norm = 7
|
||||
@@ -1007,7 +1007,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.45,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.071, algorithmic cost ~ 128, 2-norm = 15
|
||||
@@ -1032,7 +1032,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.071,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.029, algorithmic cost ~ 366, 2-norm = 31
|
||||
@@ -1057,7 +1057,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.029,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.415, algorithmic cost ~ 1238, 2-norm = 63
|
||||
@@ -1082,7 +1082,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.415,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.894, algorithmic cost ~ 3711, 2-norm = 127
|
||||
@@ -1107,7 +1107,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_6_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.894,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.42, algorithmic cost ~ 12591, 2-norm = 255
|
||||
@@ -1132,7 +1132,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_1_CARRY_7_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.42,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.18, algorithmic cost ~ 50, 2-norm = 1
|
||||
@@ -1157,7 +1157,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.18,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.372, algorithmic cost ~ 68, 2-norm = 2
|
||||
@@ -1182,7 +1182,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.372,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.11, algorithmic cost ~ 83, 2-norm = 5
|
||||
@@ -1207,7 +1207,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.11,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.022, algorithmic cost ~ 366, 2-norm = 10
|
||||
@@ -1232,7 +1232,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.022,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.297, algorithmic cost ~ 1230, 2-norm = 21
|
||||
@@ -1257,7 +1257,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.297,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.023, algorithmic cost ~ 3689, 2-norm = 42
|
||||
@@ -1282,7 +1282,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.023,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.073, algorithmic cost ~ 10515, 2-norm = 85
|
||||
@@ -1307,7 +1307,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_2_CARRY_6_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.073,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.422, algorithmic cost ~ 68, 2-norm = 1
|
||||
@@ -1332,7 +1332,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.422,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.088, algorithmic cost ~ 80, 2-norm = 2
|
||||
@@ -1357,7 +1357,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.088,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.265, algorithmic cost ~ 357, 2-norm = 4
|
||||
@@ -1382,7 +1382,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.265,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.242, algorithmic cost ~ 1230, 2-norm = 9
|
||||
@@ -1407,7 +1407,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.242,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.532, algorithmic cost ~ 2709, 2-norm = 18
|
||||
@@ -1432,7 +1432,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.532,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.458, algorithmic cost ~ 8464, 2-norm = 36
|
||||
@@ -1457,7 +1457,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_3_CARRY_5_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.458,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.001, algorithmic cost ~ 80, 2-norm = 1
|
||||
@@ -1482,7 +1482,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.001,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.421, algorithmic cost ~ 341, 2-norm = 2
|
||||
@@ -1507,7 +1507,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.421,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.415, algorithmic cost ~ 1230, 2-norm = 4
|
||||
@@ -1532,7 +1532,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.415,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.502, algorithmic cost ~ 2693, 2-norm = 8
|
||||
@@ -1557,7 +1557,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.502,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.569, algorithmic cost ~ 8439, 2-norm = 17
|
||||
@@ -1582,7 +1582,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_4_CARRY_4_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.569,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.759, algorithmic cost ~ 338, 2-norm = 1
|
||||
@@ -1607,7 +1607,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.759,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.447, algorithmic cost ~ 1230, 2-norm = 2
|
||||
@@ -1632,7 +1632,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.447,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.501, algorithmic cost ~ 2685, 2-norm = 4
|
||||
@@ -1657,7 +1657,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.501,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-85.096, algorithmic cost ~ 8439, 2-norm = 8
|
||||
@@ -1682,7 +1682,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_5_CARRY_3_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -85.096,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.455, algorithmic cost ~ 779, 2-norm = 1
|
||||
@@ -1707,7 +1707,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.455,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-80.928, algorithmic cost ~ 2685, 2-norm = 2
|
||||
@@ -1732,7 +1732,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -80.928,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-82.14, algorithmic cost ~ 6382, 2-norm = 4
|
||||
@@ -1757,7 +1757,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_6_CARRY_2_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -82.14,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-81.036, algorithmic cost ~ 2685, 2-norm = 1
|
||||
@@ -1782,7 +1782,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -81.036,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-83.255, algorithmic cost ~ 6363, 2-norm = 2
|
||||
@@ -1807,7 +1807,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_7_CARRY_1_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -83.255,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
// p-fail = 2^-84.958, algorithmic cost ~ 6363, 2-norm = 1
|
||||
@@ -1832,7 +1832,7 @@ pub const PARAM_MULTI_BIT_GROUP_3_MESSAGE_8_CARRY_0_KS_PBS_GAUSSIAN_2M80: MultiB
|
||||
log2_p_fail: -84.958,
|
||||
ciphertext_modulus: CiphertextModulus::new_native(),
|
||||
encryption_key_choice: EncryptionKeyChoice::Big,
|
||||
grouping_factor: LweBskGroupingFactor(3),
|
||||
grouping_factor: MultiBitGroupingFactor(3),
|
||||
deterministic_execution: false,
|
||||
};
|
||||
pub const ALL_MULTI_BIT_PARAMETER_3_VEC: [MultiBitPBSParameters; 36] = [
|
||||
|
||||
Reference in New Issue
Block a user