ABY Framework  1.0
Arithmetic Bool Yao Framework
 All Classes Files Functions Variables Enumerations Enumerator Macros
sort_compare_shuffle.h
1 
18 #ifndef __SORT_COMPARE_SHUFFLE_
19 #define __SORT_COMPARE_SHUFFLE_
20 
21 #include "WaksmanPermutation.h"
22 #include "../../../abycore/circuit/booleancircuits.h"
23 #include "../../../abycore/circuit/arithmeticcircuits.h"
24 #include "../../../abycore/circuit/circuit.h"
25 #include "../../../abycore/aby/abyparty.h"
26 #include <cassert>
27 
28 int32_t test_psi_scs_circuit(e_role role, char* address, seclvl seclvl,
29  uint32_t nvals, uint32_t bitlen, uint32_t nthreads, e_mt_gen_alg mt_alg,
30  e_sharing sharing);
31 vector<uint32_t> BuildSCSPSICircuit(share** shr_srv_set, share** shr_cli_set, vector<uint32_t> shr_sel_bits,
32  uint32_t neles, uint32_t bitlen, BooleanCircuit* bc, BooleanCircuit* yc, uint32_t type);
33 vector<uint32_t> PutVectorBitonicSortGate(share** srv_set, share** cli_set, uint32_t neles,
34  uint32_t bitlen, BooleanCircuit* circ);
35 vector<uint32_t> PutDupSelect3Gate(vector<uint32_t>& x1, vector<uint32_t>& x2,
36  vector<uint32_t>& x3, BooleanCircuit* circ);
37 vector<uint32_t> PutDupSelect2Gate(vector<uint32_t>& x1, vector<uint32_t>& x2,
38  BooleanCircuit* circ);
39 vector<uint32_t> PutVectorCondSwapGate(uint32_t a, uint32_t b, uint32_t s,
40  BooleanCircuit* circ);
41 
42 #endif /* __SORT_COMPARE_SHUFFLE_ */
Definition: booleancircuits.h:27
Implementation of WaksmanPermutation.
e_mt_gen_alg
Enumeration which defines the method that is used for arithmetic multiplication triple generation...
Definition: constants.h:55
Definition: circuit.h:258
e_role
Defines the role of the party or the source / target for certain operations (e.g., input/output)
Definition: constants.h:139
Definition: typedefs.h:79
e_sharing
Enumeration which defines the different sharing which are there in the framework. ...
Definition: constants.h:124