Function concrete_npe::estimate_pbs_noise
source · [−]pub fn estimate_pbs_noise<D, K>(
lwe_mask_size: LweDimension,
poly_size: PolynomialSize,
rlwe_mask_size: GlweDimension,
base_log: DecompositionBaseLog,
level: DecompositionLevelCount,
dispersion_bsk: D,
log2_modulus: u32
) -> Variancewhere
D: DispersionParameter,
K: KeyDispersion,
Expand description
Computes the dispersion of a PBS a la TFHE (i.e., the GGSW encrypts a binary keys, and the initial noise for the RLWE is equal to zero).
Example
use concrete_core::prelude::{
BinaryKeyKind, DecompositionBaseLog, DecompositionLevelCount, GlweDimension, LweDimension,
PolynomialSize, Variance,
};
use concrete_npe::estimate_pbs_noise;
let poly_size = PolynomialSize(1024);
let mask_size = LweDimension(2);
let rlwe_mask_size = GlweDimension(2);
let level = DecompositionLevelCount(4);
let dispersion_rgsw = Variance(2_f64.powi(-40));
let base_log = DecompositionBaseLog(7);
let var_ks = estimate_pbs_noise::<_, BinaryKeyKind>(
mask_size,
poly_size,
rlwe_mask_size,
base_log,
level,
dispersion_rgsw,
64,
);