Selaa lähdekoodia

dpf: add bincode serialization support for keys

Lennart Braun 2 vuotta sitten
vanhempi
commit
1ebd1e877e
3 muutettua tiedostoa jossa 6 lisäystä ja 4 poistoa
  1. 1 0
      dpf/Cargo.toml
  2. 2 1
      dpf/src/mpdpf.rs
  3. 3 3
      dpf/src/spdpf.rs

+ 1 - 0
dpf/Cargo.toml

@@ -8,6 +8,7 @@ edition = "2021"
 [dependencies]
 cuckoo = { path = "../cuckoo" }
 utils = { path = "../utils" }
+bincode = "2.0.0-rc.2"
 num = "0.4.0"
 rand = "0.8.5"
 

+ 2 - 1
dpf/src/mpdpf.rs

@@ -1,3 +1,4 @@
+use bincode;
 use core::fmt;
 use core::fmt::Debug;
 use core::marker::PhantomData;
@@ -33,7 +34,7 @@ pub trait MultiPointDpf {
     }
 }
 
-#[derive(Clone, Debug)]
+#[derive(Clone, Debug, bincode::Encode, bincode::Decode)]
 pub struct DummyMpDpfKey<V: Copy + Debug> {
     party_id: usize,
     domain_size: usize,

+ 3 - 3
dpf/src/spdpf.rs

@@ -1,9 +1,9 @@
+use bincode;
 use core::fmt::Debug;
 use core::marker::PhantomData;
 use core::ops::{Add, Neg, Sub};
 use num::traits::Zero;
 use rand::{thread_rng, Rng};
-
 use utils::bit_decompose::bit_decompose;
 use utils::fixed_key_aes::FixedKeyAes;
 use utils::pseudorandom_conversion::{PRConvertTo, PRConverter};
@@ -26,7 +26,7 @@ pub trait SinglePointDpf {
     }
 }
 
-#[derive(Clone, Copy, Debug)]
+#[derive(Clone, Copy, Debug, bincode::Encode, bincode::Decode)]
 pub struct DummySpDpfKey<V: Copy + Debug> {
     party_id: usize,
     domain_size: usize,
@@ -96,7 +96,7 @@ where
 }
 
 /// Implementation of the Half-Tree DPF scheme from Guo et al. (ePrint 2022/1431, Figure 8)
-#[derive(Clone, Debug)]
+#[derive(Clone, Debug, bincode::Encode, bincode::Decode)]
 pub struct HalfTreeSpDpfKey<V: Copy + Debug> {
     /// party id b
     party_id: usize,