Percy++
A C++ implementation of Private Information Retrieval (PIR) protocols
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | List of all members
PercyAGClient Class Reference

A PIR client for the CPIR protocol by Aguilar Melchor and Gaborit (2007). More...

#include <agclient.h>

Inheritance diagram for PercyAGClient:
PercyClient

Public Member Functions

 PercyAGClient (const PercyClientParams *params, PercyStats *stats=NULL)
 Constructor. More...
 
virtual ~PercyAGClient ()
 Destructor. More...
 
- Public Member Functions inherited from PercyClient
virtual ~PercyClient ()
 Destructor. More...
 
nqueries_t encode_request (vector< dbsize_t > block_numbers, nqueries_t querybsize=1)
 Encode a request for the given block numbers. More...
 
dbsize_t send_request (nqueries_t request_identifier, std::vector< ostream * > &osvec, bool send_num_queries=true)
 Send the request for the given request ID. More...
 
dbsize_t receive_replies (nqueries_t request_identifier, std::vector< istream * > &isvec)
 Receive the servers' replies for a given request ID. More...
 
nqueries_t process_replies (nservers_t h)
 Process the servers' replies for all undecoded replies. More...
 
bool get_result (nqueries_t request_identifier, vector< PercyBlockResults > &results)
 Get the result for a given request ID. More...
 
bool fetch_blocks (nqueries_t &request_identifier, vector< dbsize_t > block_numbers, vector< ostream * > &osvec, vector< istream * > &isvec, vector< PercyBlockResults > &results, nqueries_t querybsize=1)
 Do encode_request(), send_request(), receive_replies(), process_replies(), and get_result() all in one shot. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from PercyClient
static PercyClientmake_client (const PercyClientParams *clientparams, nservers_t num_servers, nservers_t t, sid_t *sids=NULL, PercyStats *stats=NULL)
 Factory method called to get a client object for the given parameters. More...
 
- Protected Member Functions inherited from PercyClient
const vector< dbsize_t > & get_block_numbers (nqueries_t request_identifier)
 Get the block numbers for a given request ID. More...
 
nqueries_t get_qbs (nqueries_t request_identifier)
 Get the number of blocks to request in a single query for a given request ID. More...
 
 PercyClient (const PercyClientParams *clientparams, nservers_t num_servers, nservers_t t, PercyStats *stats=NULL)
 Constructor. More...
 
- Protected Attributes inherited from PercyClient
const PercyClientParamsclientparams
 Parameters for the client. More...
 
nservers_t num_servers
 The number of servers. More...
 
nservers_t t
 The privacy level. More...
 
vector< nservers_t > goodservers
 The server indices of servers that have not acted up. More...
 
- Static Protected Attributes inherited from PercyClient
static const bool randomize = true
 Randomize the requests for IT-PIR clients. More...
 

Detailed Description

A PIR client for the CPIR protocol by Aguilar Melchor and Gaborit (2007).

This protocol was introduced in A Lattice-Based Computationally-Efficient Private Information Retrieval Protocol and revisited in HighSpeed Private Information Retrieval Computation on GPU.

Constructor & Destructor Documentation

PercyAGClient ( const PercyClientParams params,
PercyStats stats = NULL 
)

Constructor.

Parameters
paramsParameters for the client.
statsStatistics collection object. No statistics will be collected if NULL.
virtual ~PercyAGClient ( )
virtual

Destructor.


The documentation for this class was generated from the following file: