Function concrete_npe::estimate_wop_pbs_noise
source · [−]pub fn estimate_wop_pbs_noise<D1, D2, K1, K2>(
number_of_bits_to_extract: ExtractedBitsCount,
lwe_mask_size_after_bit_extraction: LweDimension,
poly_size: PolynomialSize,
glwe_mask_size: GlweDimension,
base_log_cb: DecompositionBaseLog,
level_cb: DecompositionLevelCount,
dispersion_cb_bsk: D1,
dispersion_cb_pfksk: D2,
log2_modulus: u32
) -> Variancewhere
D1: DispersionParameter,
D2: DispersionParameter,
K1: KeyDispersion,
K2: KeyDispersion,
Expand description
Compute the dispersion after a WoP-PBS.
Example
use concrete_core::prelude::*;
use concrete_npe::estimate_wop_pbs_noise;
let number_of_bits_to_extract = ExtractedBitsCount(8);
let lwe_mask_size = LweDimension(667);
let poly_size = PolynomialSize(1024);
let glwe_mask_size = GlweDimension(2);
let base_log_cb = DecompositionBaseLog(4);
let level_cb = DecompositionLevelCount(7);
let dispersion_cb_bsk = Variance(2_f64.powi(-104));
let dispersion_cb_pfksk = Variance(2_f64.powi(-31));
let var_wop_pbs = estimate_wop_pbs_noise::<_, _, BinaryKeyKind, BinaryKeyKind>(
number_of_bits_to_extract,
lwe_mask_size,
poly_size,
glwe_mask_size,
base_log_cb,
level_cb,
dispersion_cb_bsk,
dispersion_cb_pfksk,
64,
);