ABY Framework
1.0
Arithmetic Bool Yao Framework
|
#include <sharing.h>
Public Member Functions | |
Sharing (e_role role, uint32_t sharebitlen, ABYCircuit *circuit, crypto *crypt) | |
Initialises the members of the class. More... | |
~Sharing () | |
virtual void | Reset ()=0 |
virtual void | PrepareSetupPhase (ABYSetup *setup)=0 |
virtual void | PerformSetupPhase (ABYSetup *setup)=0 |
virtual void | FinishSetupPhase (ABYSetup *setup)=0 |
virtual void | EvaluateLocalOperations (uint32_t level)=0 |
virtual void | EvaluateInteractiveOperations (uint32_t level)=0 |
virtual void | PrepareOnlinePhase ()=0 |
virtual void | FinishCircuitLayer ()=0 |
virtual void | GetDataToSend (vector< BYTE * > &sendbuf, vector< uint32_t > &bytesize)=0 |
virtual void | GetBuffersToReceive (vector< BYTE * > &rcvbuf, vector< uint32_t > &rcvbytes)=0 |
virtual void | InstantiateGate (GATE *gate)=0 |
virtual void | UsedGate (uint32_t gateid)=0 |
virtual uint32_t | AssignInput (CBitVector &input)=0 |
virtual uint32_t | GetOutput (CBitVector &out)=0 |
virtual uint32_t | GetMaxCommunicationRounds ()=0 |
virtual uint32_t | GetNumNonLinearOperations ()=0 |
virtual const char * | sharing_type ()=0 |
virtual void | PrintPerformanceStatistics ()=0 |
virtual Circuit * | GetCircuitBuildRoutine ()=0 |
Protected Member Functions | |
void | EvaluateCallbackGate (uint32_t gateid) |
Protected Attributes | |
uint32_t | m_nShareBitLen |
GATE * | m_pGates |
ABYCircuit * | m_pCircuit |
e_role | m_eRole |
uint32_t | m_nSecParamBytes |
crypto * | m_cCrypto |
Generic class for specifying different types of sharing.
|
inline |
Initialises the members of the class.
role | Specifying the role.... |
sharebitlen | Bit Length of share |
circuit | circuit object |
crypt | crypto object |
|
inline |
Destructor of class.
|
pure virtual |
Method for assigning the input
input | Input |
Implemented in YaoServerSharing, YaoSharing, BoolSharing, ArithSharing< T >, and YaoClientSharing.
|
protected |
Method for evaluating Callback gate for the inputted gate object.
gateid | Gate identifier |
|
pure virtual |
Method for evaluating the interactive operations.
level | _______________________ |
Implemented in YaoServerSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for evaluating the local operations.
level | _______________________ |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for finishing the circuit layer <Better description="" please>="">
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for finishing the sharing setup.
setup | Object for setting up the share. |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for receiving the data.
rsvbuf | receiver buffer |
rcvsize | data size |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for _________________________________
Implemented in YaoSharing, ArithSharing< T >, and BoolSharing.
|
pure virtual |
Method for sending the data.
sendbuf | sender buffer |
bytesize | data size |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for finding the maximum communication rounds.
Implemented in YaoSharing, BoolSharing, and ArithSharing< T >.
|
pure virtual |
Method for finding the number of non-linear operations.
Implemented in YaoSharing, BoolSharing, and ArithSharing< T >.
|
pure virtual |
Method for getting the output
output | Output |
Implemented in YaoServerSharing, YaoSharing, BoolSharing, ArithSharing< T >, and YaoClientSharing.
|
pure virtual |
Method for Instantiating a gate
gate | Input gate |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for performing the sharing setup.
setup | Object for setting up the share. |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for preparing the online phase <Better description="" please>="">
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for preparing the sharing setup.
setup | Object for setting up the share. |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
pure virtual |
Method for printing the performance statistics.
Implemented in BoolSharing, YaoSharing, and ArithSharing< T >.
|
pure virtual |
Reset method
Implemented in BoolSharing, YaoServerSharing, YaoSharing, ArithSharing< T >, and YaoClientSharing.
|
pure virtual |
Method for knowing the sharing type used.
Implemented in BoolSharing, ArithSharing< T >, YaoServerSharing, and YaoClientSharing.
|
pure virtual |
Method for finding the used gate with the gateid.
gateid | Id of the used gate. |
Implemented in YaoServerSharing, YaoSharing, ArithSharing< T >, YaoClientSharing, and BoolSharing.
|
protected |
Class that contains cryptographic routines
|
protected |
Role object.
|
protected |
Number of security param bytes.
|
protected |
Bit length of shared item.
|
protected |
Circuit pointer.
|
protected |
Pointer to array of Logical Gates.