Percy++
A C++ implementation of Private Information Retrieval (PIR) protocols
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
recover.h
1 // Percy++ Copyright 2007,2012,2013,2014
2 // Ian Goldberg <iang@cs.uwaterloo.ca>,
3 // Casey Devet <cjdevet@uwaterloo.ca>,
4 // Paul Hendry <pshendry@uwaterloo.ca>,
5 // Ryan Henry <rhenry@cs.uwaterloo.ca>
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of version 2 of the GNU General Public License as
9 // published by the Free Software Foundation.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // There is a copy of the GNU General Public License in the COPYING file
17 // packaged with this plugin; if you cannot find it, write to the Free
18 // Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 // 02110-1301 USA
20 
21 #ifndef __RECOVER_H__
22 #define __RECOVER_H__
23 
24 #include "rsdecoder.h"
25 #include "gf2e.h"
26 
27 // The EasyRecover function based on Goldberg's Improving the Robustness of
28 // Private Information Retrival (2007).
29 
30 NTL_CLIENT
31 
32 bool EasyRecover(dbsize_t bytes_per_word, nservers_t t,
33  nservers_t h, vector<DecoderResult<ZZ_p> > &results,
34  dbsize_t word_number, const vec_ZZ_p &values, const vec_ZZ_p &indices,
35  const vec_ZZ_p &interp_indices);
36 
37 bool EasyRecover(dbsize_t bytes_per_word, nservers_t t,
38  nservers_t h, vector<DecoderResult<GF2E> > &results,
39  dbsize_t word_number, const vec_GF2E &values_vec,
40  const vec_GF2E &indices_vec, const vec_GF2E &interp_indices);
41 
42 #endif
Contains the results (so far) of decoding words.
Definition: rsdecoder.h:87