ABY Framework
1.0
Arithmetic Bool Yao Framework
|
#include <arithmeticcircuits.h>
Public Member Functions | |
ArithmeticCircuit (ABYCircuit *aby, e_sharing context, e_role myrole, uint32_t bitlen) | |
void | Init () |
void | Cleanup () |
void | Reset () |
uint32_t | PutMULGate (uint32_t left, uint32_t right) |
uint32_t | PutADDGate (uint32_t left, uint32_t right) |
uint32_t | PutINGate (uint32_t nvals, e_role src) |
share * | PutINGate (uint32_t nvals, uint64_t val, uint32_t bitlen, e_role role) |
share * | PutINGate (uint32_t nvals, uint8_t *val, uint32_t bitlen, e_role role) |
share * | PutINGate (uint32_t nvals, uint32_t *val, uint32_t bitlen, e_role role) |
template<class T > | |
uint32_t | PutINGate (uint32_t nvals, T val) |
template<class T > | |
uint32_t | PutINGate (uint32_t nvals, T val, e_role role) |
uint32_t | PutOUTGate (uint32_t parent, e_role dst) |
share * | PutOUTGate (share *parent, e_role dst) |
share * | PutCallbackGate (share *in, uint32_t rounds, void(*callback)(GATE *, void *), void *infos, uint32_t nvals) |
uint32_t | PutINVGate (uint32_t parentid) |
uint32_t | PutCONVGate (vector< uint32_t > &parentids) |
share * | PutADDGate (share *ina, share *inb) |
share * | PutSUBGate (share *ina, share *inb) |
share * | PutANDGate (share *ina, share *inb) |
share * | PutXORGate (share *ina, share *inb) |
share * | PutSubGate (share *ina, share *inb) |
share * | PutMULGate (share *ina, share *inb) |
share * | PutGEGate (share *ina, share *inb) |
share * | PutEQGate (share *ina, share *inb) |
share * | PutMUXGate (share *ina, share *inb, share *sel) |
share * | PutY2BGate (share *ina) |
share * | PutB2YGate (share *ina) |
share * | PutA2YGate (share *ina) |
share * | PutANDVecGate (share *ina, share *inb) |
uint32_t | PutB2AGate (vector< uint32_t > ina) |
share * | PutB2AGate (share *ina) |
uint32_t | GetNumMULGates () |
uint32_t | GetNumCONVGates () |
share * | PutCONSGate (uint32_t nvals, UGATE_T val, uint32_t bitlen) |
share * | PutCONSGate (uint32_t nvals, uint8_t *val, uint32_t bitlen) |
share * | PutCONSGate (uint32_t nvals, uint32_t *val, uint32_t bitlen) |
uint32_t | PutConstantGate (UGATE_T val, uint32_t nvals=1) |
uint32_t | GetMaxCommunicationRounds () |
Public Member Functions inherited from Circuit | |
Circuit (ABYCircuit *aby, e_sharing context, e_role myrole, uint32_t bitlen, e_circuit circ) | |
virtual | ~Circuit () |
void | Init () |
void | Cleanup () |
void | Reset () |
uint32_t | GetShareBitLen () |
uint32_t | GetMaxDepth () |
deque< uint32_t > | GetLocalQueueOnLvl (uint32_t lvl) |
deque< uint32_t > | GetInteractiveQueueOnLvl (uint32_t lvl) |
uint32_t | GetNumLocalLayers () |
uint32_t | GetNumInteractiveLayers () |
uint32_t | GetNumInputBitsForParty (e_role party) |
uint32_t | GetNumOutputBitsForParty (e_role party) |
deque< uint32_t > | GetInputGatesForParty (e_role party) |
deque< uint32_t > | GetOutputGatesForParty (e_role party) |
e_sharing | GetContext () |
uint32_t | GetNumGates () |
UGATE_T * | GetOutputGateValue (uint32_t gateid) |
uint32_t | GetOutputGateValue (uint32_t gateid, UGATE_T *&outval) |
template<class T > | |
void | GetOutputGateValue (uint32_t gateid, T &val) |
uint32_t | GetNumVals (uint32_t gateid) |
share * | PutCombinerGate (share *ina) |
share * | PutSplitterGate (share *ina) |
share * | PutRepeaterGate (uint32_t nvals, share *ina) |
template<class T > | |
uint32_t | PutINGate (uint32_t nvals, T val) |
template<class T > | |
uint32_t | PutINGate (uint32_t nvals, T val, e_role role) |
e_circuit | GetCircuitType () |
Additional Inherited Members | |
Protected Member Functions inherited from Circuit | |
void | UpdateInteractiveQueue (share *gateid) |
void | UpdateLocalQueue (share *gateid) |
Protected Attributes inherited from Circuit | |
ABYCircuit * | m_cCircuit |
GATE * | m_pGates |
e_sharing | m_eContext |
e_circuit | m_eCirctype |
e_role | m_eMyRole |
uint32_t | m_nShareBitLen |
uint32_t | m_nMaxDepth |
vector< deque< uint32_t > > | m_vLocalQueueOnLvl |
vector< deque< uint32_t > > | m_vInteractiveQueueOnLvl |
vector< deque< uint32_t > > | m_vInputGates |
vector< deque< uint32_t > > | m_vOutputGates |
vector< uint32_t > | m_vInputBits |
vector< uint32_t > | m_vOutputBits |
uint32_t | m_nMULs |
uint32_t | m_nCONVGates |
uint32_t | m_nGates |
uint32_t | m_nRoundsAND |
uint32_t | m_nRoundsXOR |
vector< uint32_t > | m_nRoundsIN |
vector< uint32_t > | m_nRoundsOUT |
const deque< uint32_t > | EMPTYQUEUE |
Arithmetic Circuit class.