|
|
@ -319,22 +319,58 @@ pub(crate) const MP_BOOL_PARAMS: BoolParameters = BoolParameters:: { |
|
|
|
lwe_decomposer_base: DecompostionLogBase(4),
|
|
|
|
lwe_decomposer_count: DecompositionCount(5),
|
|
|
|
rlrg_decomposer_base: DecompostionLogBase(12),
|
|
|
|
rlrg_decomposer_count: (DecompositionCount(2), DecompositionCount(2)),
|
|
|
|
rlrg_decomposer_count: (DecompositionCount(5), DecompositionCount(5)),
|
|
|
|
rgrg_decomposer_base: DecompostionLogBase(12),
|
|
|
|
rgrg_decomposer_count: (DecompositionCount(5), DecompositionCount(4)),
|
|
|
|
rgrg_decomposer_count: (DecompositionCount(5), DecompositionCount(5)),
|
|
|
|
auto_decomposer_base: DecompostionLogBase(12),
|
|
|
|
auto_decomposer_count: DecompositionCount(5),
|
|
|
|
g: 5,
|
|
|
|
w: 10,
|
|
|
|
};
|
|
|
|
|
|
|
|
// pub(crate) const SMALL_MP_BOOL_PARAMS: BoolParameters<u64> =
|
|
|
|
// BoolParameters::<u64> { rlwe_q:
|
|
|
|
// CiphertextModulus::new_non_native(36028797018820609), lwe_q:
|
|
|
|
// CiphertextModulus::new_non_native(1 << 20), br_q: 1 << 11,
|
|
|
|
// rlwe_n: PolynomialSize(1 << 11),
|
|
|
|
// lwe_n: LweDimension(600),
|
|
|
|
// lwe_decomposer_base: DecompostionLogBase(4),
|
|
|
|
// lwe_decomposer_count: DecompositionCount(5),
|
|
|
|
// rlrg_decomposer_base: DecompostionLogBase(11),
|
|
|
|
// rlrg_decomposer_count: (DecompositionCount(2), DecompositionCount(2)),
|
|
|
|
// rgrg_decomposer_base: DecompostionLogBase(11),
|
|
|
|
// rgrg_decomposer_count: (DecompositionCount(5), DecompositionCount(4)),
|
|
|
|
// auto_decomposer_base: DecompostionLogBase(11),
|
|
|
|
// auto_decomposer_count: DecompositionCount(2),
|
|
|
|
// g: 5,
|
|
|
|
// w: 10,
|
|
|
|
// };
|
|
|
|
|
|
|
|
pub(crate) const SMALL_MP_BOOL_PARAMS: BoolParameters<u64> = BoolParameters::<u64> {
|
|
|
|
rlwe_q: CiphertextModulus::new_non_native(36028797018820609),
|
|
|
|
lwe_q: CiphertextModulus::new_non_native(1 << 20),
|
|
|
|
br_q: 1 << 11,
|
|
|
|
rlwe_n: PolynomialSize(1 << 11),
|
|
|
|
lwe_n: LweDimension(500),
|
|
|
|
lwe_decomposer_base: DecompostionLogBase(4),
|
|
|
|
lwe_decomposer_count: DecompositionCount(5),
|
|
|
|
rlrg_decomposer_base: DecompostionLogBase(11),
|
|
|
|
rlrg_decomposer_count: (DecompositionCount(5), DecompositionCount(5)),
|
|
|
|
rgrg_decomposer_base: DecompostionLogBase(11),
|
|
|
|
rgrg_decomposer_count: (DecompositionCount(5), DecompositionCount(5)),
|
|
|
|
auto_decomposer_base: DecompostionLogBase(11),
|
|
|
|
auto_decomposer_count: DecompositionCount(5),
|
|
|
|
g: 5,
|
|
|
|
w: 10,
|
|
|
|
};
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod tests {
|
|
|
|
use crate::utils::generate_prime;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn find_prime() {
|
|
|
|
let bits = 61;
|
|
|
|
let bits = 55;
|
|
|
|
let ring_size = 1 << 11;
|
|
|
|
let prime = generate_prime(bits, ring_size * 2, 1 << bits).unwrap();
|
|
|
|
dbg!(prime);
|
|
|
|