mirror of
https://github.com/arnaucube/phantom-zone.git
synced 2026-01-11 16:41:29 +01:00
add multi-party bool, but fails
This commit is contained in:
2099
src/bool/evaluator.rs
Normal file
2099
src/bool/evaluator.rs
Normal file
File diff suppressed because it is too large
Load Diff
2
src/bool/mod.rs
Normal file
2
src/bool/mod.rs
Normal file
@@ -0,0 +1,2 @@
|
||||
mod evaluator;
|
||||
mod parameters;
|
||||
67
src/bool/parameters.rs
Normal file
67
src/bool/parameters.rs
Normal file
@@ -0,0 +1,67 @@
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub(super) struct BoolParameters<El> {
|
||||
pub(super) rlwe_q: El,
|
||||
pub(super) rlwe_logq: usize,
|
||||
pub(super) lwe_q: El,
|
||||
pub(super) lwe_logq: usize,
|
||||
pub(super) br_q: usize,
|
||||
pub(super) rlwe_n: usize,
|
||||
pub(super) lwe_n: usize,
|
||||
pub(super) d_rgsw: usize,
|
||||
pub(super) logb_rgsw: usize,
|
||||
pub(super) d_lwe: usize,
|
||||
pub(super) logb_lwe: usize,
|
||||
pub(super) g: usize,
|
||||
pub(super) w: usize,
|
||||
}
|
||||
|
||||
// impl<El> BoolParameters<El> {
|
||||
// fn rlwe_q(&self) -> &El {
|
||||
// &self.rlwe_q
|
||||
// }
|
||||
// }
|
||||
|
||||
pub(super) const SP_BOOL_PARAMS: BoolParameters<u64> = BoolParameters::<u64> {
|
||||
rlwe_q: 268369921u64,
|
||||
rlwe_logq: 28,
|
||||
lwe_q: 1 << 16,
|
||||
lwe_logq: 16,
|
||||
br_q: 1 << 10,
|
||||
rlwe_n: 1 << 10,
|
||||
lwe_n: 493,
|
||||
d_rgsw: 3,
|
||||
logb_rgsw: 8,
|
||||
d_lwe: 3,
|
||||
logb_lwe: 4,
|
||||
g: 5,
|
||||
w: 1,
|
||||
};
|
||||
|
||||
pub(super) const MP_BOOL_PARAMS: BoolParameters<u64> = BoolParameters::<u64> {
|
||||
rlwe_q: 2305843009213616129u64,
|
||||
rlwe_logq: 61,
|
||||
lwe_q: 1 << 25,
|
||||
lwe_logq: 25,
|
||||
br_q: 1 << 11,
|
||||
rlwe_n: 1 << 11,
|
||||
lwe_n: 500,
|
||||
d_rgsw: 7,
|
||||
logb_rgsw: 8,
|
||||
d_lwe: 5,
|
||||
logb_lwe: 5,
|
||||
g: 5,
|
||||
w: 1,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::utils::generate_prime;
|
||||
|
||||
#[test]
|
||||
fn find_prime() {
|
||||
let bits = 61;
|
||||
let ring_size = 1 << 11;
|
||||
let prime = generate_prime(bits, ring_size * 2, 1 << bits).unwrap();
|
||||
dbg!(prime);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user