|
|
@ -240,7 +240,7 @@ fn blind_rotation< |
|
|
|
let s_indices = &gk_to_si[q_by_4 + i];
|
|
|
|
|
|
|
|
s_indices.iter().for_each(|s_index| {
|
|
|
|
// let new = std::time::Instant::now();
|
|
|
|
let new = std::time::Instant::now();
|
|
|
|
rlwe_by_rgsw(
|
|
|
|
trivial_rlwe_test_poly,
|
|
|
|
pbs_key.rgsw_ct_lwe_si(*s_index),
|
|
|
@ -249,14 +249,14 @@ fn blind_rotation< |
|
|
|
ntt_op,
|
|
|
|
mod_op,
|
|
|
|
);
|
|
|
|
// println!("Rlwe x Rgsw time: {:?}", new.elapsed());
|
|
|
|
println!("Rlwe x Rgsw time: {:?}", new.elapsed());
|
|
|
|
});
|
|
|
|
v += 1;
|
|
|
|
|
|
|
|
if gk_to_si[q_by_4 + i - 1].len() != 0 || v == w || i == 1 {
|
|
|
|
let (auto_map_index, auto_map_sign) = parameters.rlwe_auto_map(v);
|
|
|
|
|
|
|
|
// let now = std::time::Instant::now();
|
|
|
|
let now = std::time::Instant::now();
|
|
|
|
galois_auto(
|
|
|
|
trivial_rlwe_test_poly,
|
|
|
|
pbs_key.galois_key_for_auto(v),
|
|
|
@ -267,7 +267,7 @@ fn blind_rotation< |
|
|
|
ntt_op,
|
|
|
|
auto_decomposer,
|
|
|
|
);
|
|
|
|
// println!("Auto time: {:?}", now.elapsed());
|
|
|
|
println!("Auto time: {:?}", now.elapsed());
|
|
|
|
|
|
|
|
count += 1;
|
|
|
|
v = 0;
|
|
|
|