ABY Framework  1.0
Arithmetic Bool Yao Framework
 All Classes Files Functions Variables Enumerations Enumerator Macros
Macros | Typedefs | Functions
bgp.h File Reference
#include "../../../abycore/circuit/booleancircuits.h"
#include "../../../abycore/circuit/arithmeticcircuits.h"
#include "../../../abycore/circuit/circuit.h"
#include "../../../abycore/aby/abyparty.h"
#include <math.h>
#include <cassert>
#include <vector>
#include <map>
#include <algorithm>
Include dependency graph for bgp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ALICE   "ALICE"
 
#define BOB   "BOB"
 
#define MAX_DISTANCE   30
 

Typedefs

typedef map< uint32_t, map
< uint32_t, uint8_t > > 
relmap
 
typedef map< uint32_t, vector
< uint32_t > > 
topmap
 
typedef map< uint32_t, uint32_t > nodemap
 

Functions

int32_t test_bgp_circuit (e_role role, char *address, seclvl seclvl, uint32_t nvals, uint32_t bitlen, uint32_t nthreads, e_mt_gen_alg mt_alg, e_sharing sharing, const topmap &topology, const relmap &relations, const vector< uint32_t > *oID)
 
int32_t test_bgp_circuit_debug (e_role role, char *address, seclvl seclvl, uint32_t nvals, uint32_t bitlen, uint32_t nthreads, e_mt_gen_alg mt_alg, e_sharing sharing, const topmap &topology, const relmap &relations)
 
int32_t build_customer_circuit (BooleanCircuit *circ, share *custShr, share **F, share **T, share **D, share **NIdx, share *dist, share *zerogate, uint32_t num_as, uint32_t m, uint32_t d_cust, uint32_t **LUT)
 
int32_t build_peer_circuit (BooleanCircuit *circ, share *peerShr, share **F, share **T, share **D, share **NIdx, share *dist, share *max_dist, share *zero_id, uint32_t num_as, uint32_t m, uint32_t **LUT)
 
int32_t build_provider_circuit (BooleanCircuit *circ, share *provShr, share **F, share **T, share **D, share **NIdx, share *dist, share *max_dist, share *zero_id, uint32_t num_as, uint32_t m, uint32_t d_prov, uint32_t **LUT)
 
void plaintextBGP (nodemap &tree, nodemap &dist, CBitVector *finish, const topmap &topology, const relmap &relations, const uint32_t target, const vector< uint32_t > *oID)
 
void plaintextBGP (nodemap &tree, nodemap &dist, CBitVector *finish, const topmap &topology, const relmap &relations, const uint32_t target)
 
void plaintextCustomers (const relmap &relations, CBitVector *finish, map< uint32_t, uint32_t > &dist, map< uint32_t, uint32_t > &tree, const uint32_t max_neighbors)
 
void plaintextPeers (const relmap &relations, CBitVector *finish, map< uint32_t, uint32_t > &dist, map< uint32_t, uint32_t > &tree, const uint32_t max_neighbors)
 
void plaintextProviders (const relmap &relations, CBitVector *finish, map< uint32_t, uint32_t > &dist, map< uint32_t, uint32_t > &tree, const uint32_t max_neighbors)
 
BOOL verifyTree (map< uint32_t, uint32_t > &tree, uint32_t *circOut, uint32_t id_bit_size)
 
BOOL verifyTree (map< uint32_t, uint32_t > &tree, uint32_t *circOut)
 

Detailed Description

Author
sreer.nosp@m.am.s.nosp@m.adasi.nosp@m.vam@.nosp@m.cased.nosp@m..de

Function Documentation

int32_t test_bgp_circuit ( e_role  role,
char *  address,
seclvl  seclvl,
uint32_t  nvals,
uint32_t  bitlen,
uint32_t  nthreads,
e_mt_gen_alg  mt_alg,
e_sharing  sharing,
const topmap &  topology,
const relmap &  relations,
const vector< uint32_t > *  oID 
)
Parameters
rolerole played by the program which can be server or client part.
addressIP Address
seclvlSecurity level
nvalsNumber of values
bitlenBit length of the inputs
nthreadsNumber of threads
mt_algThe algorithm for generation of multiplication triples
sharingSharing type object
BOOL verifyTree ( map< uint32_t, uint32_t > &  tree,
uint32_t *  circOut,
uint32_t  id_bit_size 
)
Parameters
thetree from plaintext evaluation
plaintextbyte arra from circuit output
thelength of one id in bits
BOOL verifyTree ( nodemap &  tree,
uint32_t *  circOut 
)
Parameters
thetree from plaintext evaluation
plaintextbyte arra from circuit output
thelength of one id in bits