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
PercyServer_Chor Class Reference

A PIR server for the IT-PIR protocol by Chor et al. (1995). More...

#include <itserver.h>

Inheritance diagram for PercyServer_Chor:
PercyServer

Public Member Functions

 PercyServer_Chor (DataStore *datastore, const PercyServerParams *params, PercyStats *stats=NULL)
 Constructor. More...
 
virtual ~PercyServer_Chor ()
 Destructor. More...
 
- Public Member Functions inherited from PercyServer
virtual ~PercyServer ()
 Destructor. More...
 
void be_byzantine ()
 Tell the server to be Byzantine. More...
 
void set_strassen_max_depth (nqueries_t depth)
 Set the strassen max level. More...
 
nqueries_t get_strassen_max_depth ()
 Get the strassen max level. More...
 
virtual bool handle_request (std::istream &is, std::ostream &os, const std::vector< std::iostream * > &workers=std::vector< std::iostream * >())
 Handle a request from a single client. More...
 
virtual bool handle_request (const std::vector< std::istream * > &isv, const std::vector< std::ostream * > &osv, const std::vector< std::iostream * > &workers=std::vector< std::iostream * >())
 Handle a request from a number of clients simultaneously. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from PercyServer
static PercyServer * make_server (DataStore *datastore, const PercyServerParams *params, PercyStats *stats=NULL)
 Factory method called to get a server object for the given parameters. More...
 
- Static Public Attributes inherited from PercyServer
static const nqueries_t STRASSEN_OPTIMAL = -1
 Special strassen max level, when set to this value, the optimal strategy is used. More...
 
- Protected Member Functions inherited from PercyServer
virtual bool handle_request_distributed (const std::vector< unsigned char * > &requests, const std::vector< unsigned char * > &responses, const std::vector< std::iostream * > &workers)
 Implementation of handle_request() used for master servers. More...
 
virtual bool handle_request_threaded (const std::vector< unsigned char * > &requests, const std::vector< unsigned char * > &responses)
 Implementation of handle_request() to be used when using multithreading. More...
 
 PercyServer (DataStore *datastore, const PercyServerParams *serverparams, PercyStats *stats=NULL)
 Constructor. More...
 
- Protected Attributes inherited from PercyServer
bool byzantine
 Whether or not the server is Byzantine. More...
 
DataStore * datastore
 The database used by the server. More...
 
const PercyServerParams * serverparams
 The parameters for the server. More...
 
PercyStats * stats
 Statistics collection object. More...
 
nqueries_t strassen_max_depth
 Maximum depth allowed when using Strassen's matrix multiplication. More...
 
nqueries_t strassen_level_reached
 The strassen level reached in computation. More...
 
std::vector< PercyServer * > subservers
 When using multithreading, the server objects for the threads. More...
 

Detailed Description

A PIR server for the IT-PIR protocol by Chor et al. (1995).

This protocol was introduced in Private Information Retrieval.

Constructor & Destructor Documentation

PercyServer_Chor ( DataStore *  datastore,
const PercyServerParams *  params,
PercyStats *  stats = NULL 
)

Constructor.

Parameters
datastoreDatabase the server will use.
paramsParameters for the server.
statsStatistics collection object. No statistics will be collected if NULL.
virtual ~PercyServer_Chor ( )
virtual

Destructor.


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