|
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.
1.8.8