concrete_integer/parameters/
mod.rs1pub use concrete_shortint::Parameters;
2
3pub use concrete_core::prelude::{
4 DecompositionBaseLog, DecompositionLevelCount, DispersionParameter, GlweDimension,
5 LweDimension, PolynomialSize, StandardDev,
6};
7use concrete_shortint::parameters::{CarryModulus, MessageModulus};
8
9pub const ALL_PARAMETER_VEC_INTEGER_16_BITS: [Parameters; 2] = [
10 PARAM_MESSAGE_4_CARRY_4_16_BITS,
11 PARAM_MESSAGE_2_CARRY_2_16_BITS,
12];
13
14pub const PARAM_MESSAGE_4_CARRY_4_16_BITS: Parameters = Parameters {
15 lwe_dimension: LweDimension(481),
16 glwe_dimension: GlweDimension(1),
17 polynomial_size: PolynomialSize(2048),
18 lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
19 glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
20 pbs_base_log: DecompositionBaseLog(9),
21 pbs_level: DecompositionLevelCount(4),
22 ks_level: DecompositionLevelCount(9),
23 ks_base_log: DecompositionBaseLog(1),
24 pfks_level: DecompositionLevelCount(4),
25 pfks_base_log: DecompositionBaseLog(9),
26 pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
27 cbs_level: DecompositionLevelCount(4),
28 cbs_base_log: DecompositionBaseLog(6),
29 message_modulus: MessageModulus(16),
30 carry_modulus: CarryModulus(16),
31};
32
33pub const PARAM_MESSAGE_2_CARRY_2_16_BITS: Parameters = Parameters {
34 lwe_dimension: LweDimension(493),
35 glwe_dimension: GlweDimension(1),
36 polynomial_size: PolynomialSize(2048),
37 lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
38 glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
39 pbs_base_log: DecompositionBaseLog(16),
40 pbs_level: DecompositionLevelCount(2),
41 ks_level: DecompositionLevelCount(5),
42 ks_base_log: DecompositionBaseLog(2),
43 pfks_level: DecompositionLevelCount(2),
44 pfks_base_log: DecompositionBaseLog(16),
45 pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
46 cbs_level: DecompositionLevelCount(6),
47 cbs_base_log: DecompositionBaseLog(3),
48 message_modulus: MessageModulus(4),
49 carry_modulus: CarryModulus(4),
50};
51
52pub const PARAM_MESSAGE_4_CARRY_4_32_BITS: Parameters = Parameters {
53 lwe_dimension: LweDimension(481),
54 glwe_dimension: GlweDimension(1),
55 polynomial_size: PolynomialSize(2048),
56 lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
57 glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
58 pbs_base_log: DecompositionBaseLog(9),
59 pbs_level: DecompositionLevelCount(4),
60 ks_level: DecompositionLevelCount(9),
61 ks_base_log: DecompositionBaseLog(1),
62 pfks_level: DecompositionLevelCount(4),
63 pfks_base_log: DecompositionBaseLog(9),
64 pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
65 cbs_level: DecompositionLevelCount(4),
66 cbs_base_log: DecompositionBaseLog(6),
67 message_modulus: MessageModulus(16),
68 carry_modulus: CarryModulus(16),
69};
70pub const PARAM_MESSAGE_2_CARRY_2_32_BITS: Parameters = Parameters {
71 lwe_dimension: LweDimension(481),
72 glwe_dimension: GlweDimension(1),
73 polynomial_size: PolynomialSize(2048),
74 lwe_modular_std_dev: StandardDev(0.00061200133780220371345),
75 glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
76 pbs_base_log: DecompositionBaseLog(11),
77 pbs_level: DecompositionLevelCount(3),
78 ks_level: DecompositionLevelCount(9),
79 ks_base_log: DecompositionBaseLog(1),
80 pfks_level: DecompositionLevelCount(3),
81 pfks_base_log: DecompositionBaseLog(11),
82 pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
83 cbs_level: DecompositionLevelCount(6),
84 cbs_base_log: DecompositionBaseLog(3),
85 message_modulus: MessageModulus(4),
86 carry_modulus: CarryModulus(4),
87};
88pub const PARAM_MESSAGE_1_CARRY_1_32_BITS: Parameters = Parameters {
89 lwe_dimension: LweDimension(493),
90 glwe_dimension: GlweDimension(1),
91 polynomial_size: PolynomialSize(2048),
92 lwe_modular_std_dev: StandardDev(0.00049144710341316649172),
93 glwe_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
94 pbs_base_log: DecompositionBaseLog(15),
95 pbs_level: DecompositionLevelCount(2),
96 ks_level: DecompositionLevelCount(5),
97 ks_base_log: DecompositionBaseLog(2),
98 pfks_level: DecompositionLevelCount(2),
99 pfks_base_log: DecompositionBaseLog(15),
100 pfks_modular_std_dev: StandardDev(0.00000000000000022148688116005568513645324585951),
101 cbs_level: DecompositionLevelCount(5),
102 cbs_base_log: DecompositionBaseLog(3),
103 message_modulus: MessageModulus(2),
104 carry_modulus: CarryModulus(2),
105};
106
107pub const PARAM_4_BITS_5_BLOCKS: Parameters = Parameters {
108 lwe_dimension: LweDimension(667),
109 glwe_dimension: GlweDimension(2),
110 polynomial_size: PolynomialSize(1024),
111 lwe_modular_std_dev: StandardDev(0.0000000004168323308734758),
112 glwe_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
113 pbs_base_log: DecompositionBaseLog(7),
114 pbs_level: DecompositionLevelCount(6),
115 ks_base_log: DecompositionBaseLog(1),
116 ks_level: DecompositionLevelCount(14),
117 pfks_level: DecompositionLevelCount(6),
118 pfks_base_log: DecompositionBaseLog(7),
119 pfks_modular_std_dev: StandardDev(0.00000000000000000000000000000004905643852600863),
120 cbs_level: DecompositionLevelCount(7),
121 cbs_base_log: DecompositionBaseLog(4),
122 message_modulus: MessageModulus(16),
123 carry_modulus: CarryModulus(1),
124};