Skip to content

Commit 9a222a2

Browse files
committed
chore: update default params to KS32
1 parent f9268b8 commit 9a222a2

File tree

13 files changed

+200
-198
lines changed

13 files changed

+200
-198
lines changed

tfhe/examples/utilities/generates_test_keys.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ use tfhe::shortint::parameters::key_switching::ShortintKeySwitchingParameters;
1717

1818
use tfhe::shortint::parameters::current_params::*;
1919
use tfhe::shortint::parameters::{
20-
ClassicPBSParameters, PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
20+
AtomicPatternParameters, ClassicPBSParameters, PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128,
21+
PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
2122
};
2223
#[cfg(feature = "experimental")]
2324
use tfhe::shortint::parameters::{
@@ -129,6 +130,8 @@ fn client_server_keys() {
129130
];
130131
generate_pbs_keys(&PBS_KEYS);
131132

133+
generate_pbs_keys(&[PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128]);
134+
132135
#[cfg(feature = "experimental")]
133136
{
134137
const WOPBS_PARAMS: [(ClassicPBSParameters, WopbsParameters); 4] = [
@@ -155,10 +158,11 @@ fn client_server_keys() {
155158
}
156159
}
157160

158-
fn generate_pbs_keys(params: &[ClassicPBSParameters]) {
161+
fn generate_pbs_keys<P: Into<AtomicPatternParameters> + Copy>(params: &[P]) {
159162
println!("Generating shortint (ClientKey, ServerKey)");
160163

161164
for (i, param) in params.iter().copied().enumerate() {
165+
let param: AtomicPatternParameters = param.into();
162166
println!(
163167
"Generating [{} / {}] : {}",
164168
i + 1,

tfhe/js_on_wasm_tests/test-hlapi-signed.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ test("hlapi_compact_ciphertext_list", (t) => {
563563

564564
test("hlapi_compact_ciphertext_list_with_proof", (t) => {
565565
const block_params = new ShortintParameters(
566-
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
566+
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128,
567567
);
568568
let publicKeyParams = new ShortintCompactPublicKeyEncryptionParameters(
569569
ShortintCompactPublicKeyEncryptionParametersName.PARAM_PKE_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
@@ -616,7 +616,7 @@ test("hlapi_compact_pk_conformance", (t) => {
616616
const limit = BigInt(1 << 20);
617617

618618
let blockParams = new ShortintParameters(
619-
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,
619+
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128,
620620
);
621621
let publicKeyParams = new ShortintCompactPublicKeyEncryptionParameters(
622622
ShortintCompactPublicKeyEncryptionParametersName.PARAM_PKE_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128,

tfhe/js_on_wasm_tests/test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ test("boolean_deterministic_keygen", (t) => {
115115
// Shortint tests
116116
test("shortint_encrypt_decrypt", (t) => {
117117
let params_name =
118-
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128;
118+
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128;
119119
let params = new ShortintParameters(params_name);
120120
let cks = Shortint.new_client_key(params);
121121
let ct = Shortint.encrypt(cks, BigInt(3));
@@ -155,7 +155,7 @@ test("shortint_encrypt_decrypt", (t) => {
155155

156156
test("shortint_compressed_encrypt_decrypt", (t) => {
157157
let params_name =
158-
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128;
158+
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128;
159159
let params = new ShortintParameters(params_name);
160160
let cks = Shortint.new_client_key(params);
161161
let ct = Shortint.encrypt_compressed(cks, BigInt(3));
@@ -280,7 +280,7 @@ test("shortint_deterministic_keygen", (t) => {
280280
let seed_low_bytes = genRandomBigIntWithBytes(8);
281281

282282
let params_name =
283-
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS_PBS_TUNIFORM_2M128;
283+
ShortintParametersName.PARAM_MESSAGE_2_CARRY_2_KS32_PBS_TUNIFORM_2M128;
284284
let params = new ShortintParameters(params_name);
285285
let cks = Shortint.new_client_key_from_seed_and_parameters(
286286
seed_high_bytes,

tfhe/src/integer/public_key/standard.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,16 @@ mod tests {
118118
use crate::integer::keycache::KEY_CACHE;
119119
use crate::integer::tests::create_parameterized_test;
120120
use crate::integer::IntegerKeyKind;
121-
use crate::shortint::parameters::test_params::TEST_PARAM_MESSAGE_2_CARRY_2_PBS_KS_GAUSSIAN_2M128;
122-
use crate::shortint::parameters::ClassicPBSParameters;
121+
use crate::shortint::parameters::test_params::{
122+
TestParameters, TEST_PARAM_MESSAGE_2_CARRY_2_PBS_KS_GAUSSIAN_2M128,
123+
};
123124

124125
create_parameterized_test!(integer_public_key_decompression_small {
125126
TEST_PARAM_MESSAGE_2_CARRY_2_PBS_KS_GAUSSIAN_2M128,
126127
});
127128

128-
fn integer_public_key_decompression_small(param: ClassicPBSParameters) {
129+
fn integer_public_key_decompression_small<P: Into<TestParameters>>(param: P) {
130+
let param: TestParameters = param.into();
129131
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::Radix);
130132

131133
let compressed_pk = crate::integer::CompressedPublicKey::new(&cks);

tfhe/src/integer/public_key/tests.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,13 @@ create_parameterized_test!(
6060

6161
/// Test that the public key can encrypt a 128 bit number
6262
/// in radix decomposition, and that the client key can decrypt it
63-
fn big_radix_encrypt_decrypt_128_bits(param: ClassicPBSParameters) {
63+
fn big_radix_encrypt_decrypt_128_bits<P: Into<TestParameters>>(param: P) {
64+
let param: TestParameters = param.into();
6465
let (cks, _) = KEY_CACHE.get_from_params(param, IntegerKeyKind::Radix);
6566
let public_key = PublicKey::new(&cks);
6667

6768
let mut rng = rand::thread_rng();
68-
let num_block = (128f64 / (param.message_modulus.0 as f64).log(2.0)).ceil() as usize;
69+
let num_block = (128f64 / (param.message_modulus().0 as f64).log(2.0)).ceil() as usize;
6970

7071
let clear = rng.gen::<u128>();
7172

@@ -76,12 +77,13 @@ fn big_radix_encrypt_decrypt_128_bits(param: ClassicPBSParameters) {
7677
assert_eq!(clear, dec);
7778
}
7879

79-
fn radix_encrypt_decrypt_compressed_128_bits(param: ClassicPBSParameters) {
80+
fn radix_encrypt_decrypt_compressed_128_bits<P: Into<TestParameters>>(param: P) {
81+
let param: TestParameters = param.into();
8082
let (cks, _) = KEY_CACHE.get_from_params(param, IntegerKeyKind::Radix);
8183
let public_key = CompressedPublicKey::new(&cks);
8284

8385
let mut rng = rand::thread_rng();
84-
let num_block = (128f64 / (param.message_modulus.0 as f64).log(2.0)).ceil() as usize;
86+
let num_block = (128f64 / (param.message_modulus().0 as f64).log(2.0)).ceil() as usize;
8587

8688
let clear = rng.gen::<u128>();
8789

tfhe/src/integer/server_key/crt/tests.rs

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,15 @@ fn integer_unchecked_crt_scalar_sub_32_bits() {
227227
}
228228
}
229229

230-
fn integer_unchecked_crt_mul(param: ClassicPBSParameters) {
230+
fn integer_unchecked_crt_mul<P: Into<TestParameters>>(param: P) {
231+
let param: TestParameters = param.into();
231232
// generate the server-client key set
232233
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
233234

234235
let mut rng = rand::thread_rng();
235236

236237
// Define CRT basis, and global modulus
237-
let basis = make_basis(param.message_modulus.0);
238+
let basis = make_basis(param.message_modulus().0);
238239
let modulus = basis.iter().product::<u64>();
239240

240241
for _ in 0..NB_TESTS {
@@ -253,9 +254,10 @@ fn integer_unchecked_crt_mul(param: ClassicPBSParameters) {
253254
}
254255
}
255256

256-
fn integer_smart_crt_add(param: ClassicPBSParameters) {
257+
fn integer_smart_crt_add<P: Into<TestParameters>>(param: P) {
258+
let param: TestParameters = param.into();
257259
// Define CRT basis, and global modulus
258-
let basis = make_basis(param.message_modulus.0);
260+
let basis = make_basis(param.message_modulus().0);
259261
let modulus = basis.iter().product::<u64>();
260262

261263
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
@@ -279,12 +281,13 @@ fn integer_smart_crt_add(param: ClassicPBSParameters) {
279281
}
280282
}
281283

282-
fn integer_smart_crt_mul(param: ClassicPBSParameters) {
284+
fn integer_smart_crt_mul<P: Into<TestParameters>>(param: P) {
285+
let param: TestParameters = param.into();
283286
// generate the server-client key set
284287
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
285288

286289
// Define CRT basis, and global modulus
287-
let basis = make_basis(param.message_modulus.0);
290+
let basis = make_basis(param.message_modulus().0);
288291
let modulus = basis.iter().product::<u64>();
289292

290293
println!("BASIS = {basis:?}");
@@ -308,9 +311,10 @@ fn integer_smart_crt_mul(param: ClassicPBSParameters) {
308311
}
309312
}
310313

311-
fn integer_smart_crt_neg(param: ClassicPBSParameters) {
314+
fn integer_smart_crt_neg<P: Into<TestParameters>>(param: P) {
315+
let param: TestParameters = param.into();
312316
// Define CRT basis, and global modulus
313-
let basis = make_basis(param.message_modulus.0);
317+
let basis = make_basis(param.message_modulus().0);
314318
let modulus = basis.iter().product::<u64>();
315319

316320
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
@@ -334,9 +338,10 @@ fn integer_smart_crt_neg(param: ClassicPBSParameters) {
334338
}
335339
}
336340

337-
fn integer_smart_crt_scalar_add(param: ClassicPBSParameters) {
341+
fn integer_smart_crt_scalar_add<P: Into<TestParameters>>(param: P) {
342+
let param: TestParameters = param.into();
338343
// Define CRT basis, and global modulus
339-
let basis = make_basis(param.message_modulus.0);
344+
let basis = make_basis(param.message_modulus().0);
340345
let modulus = basis.iter().product::<u64>();
341346

342347
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
@@ -358,9 +363,10 @@ fn integer_smart_crt_scalar_add(param: ClassicPBSParameters) {
358363
}
359364
}
360365

361-
fn integer_smart_crt_scalar_mul(param: ClassicPBSParameters) {
366+
fn integer_smart_crt_scalar_mul<P: Into<TestParameters>>(param: P) {
367+
let param: TestParameters = param.into();
362368
// Define CRT basis, and global modulus
363-
let basis = make_basis(param.message_modulus.0);
369+
let basis = make_basis(param.message_modulus().0);
364370
let modulus = basis.iter().product::<u64>();
365371

366372
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
@@ -382,9 +388,10 @@ fn integer_smart_crt_scalar_mul(param: ClassicPBSParameters) {
382388
}
383389
}
384390

385-
fn integer_smart_crt_scalar_sub(param: ClassicPBSParameters) {
391+
fn integer_smart_crt_scalar_sub<P: Into<TestParameters>>(param: P) {
392+
let param: TestParameters = param.into();
386393
// Define CRT basis, and global modulus
387-
let basis = make_basis(param.message_modulus.0);
394+
let basis = make_basis(param.message_modulus().0);
388395
let modulus = basis.iter().product::<u64>();
389396

390397
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);
@@ -409,9 +416,10 @@ fn integer_smart_crt_scalar_sub(param: ClassicPBSParameters) {
409416
}
410417
}
411418

412-
fn integer_smart_crt_sub(param: ClassicPBSParameters) {
419+
fn integer_smart_crt_sub<P: Into<TestParameters>>(param: P) {
420+
let param: TestParameters = param.into();
413421
// Define CRT basis, and global modulus
414-
let basis = make_basis(param.message_modulus.0);
422+
let basis = make_basis(param.message_modulus().0);
415423
let modulus = basis.iter().product::<u64>();
416424

417425
let (cks, sks) = KEY_CACHE.get_from_params(param, IntegerKeyKind::CRT);

0 commit comments

Comments
 (0)