ABY Framework  1.0
Arithmetic Bool Yao Framework
 All Classes Files Functions Variables Enumerations Enumerator Macros
Public Member Functions | List of all members
ArithSharing< T > Class Template Reference

#include <arithsharing.h>

Inheritance diagram for ArithSharing< T >:
Inheritance graph
[legend]
Collaboration diagram for ArithSharing< T >:
Collaboration graph
[legend]

Public Member Functions

 ArithSharing (e_role role, uint32_t sharebitlen, ABYCircuit *circuit, crypto *crypt, e_mt_gen_alg mt_alg)
 
 ~ArithSharing ()
 
void Reset ()
 
void PrepareSetupPhase (ABYSetup *setup)
 
void PerformSetupPhase (ABYSetup *setup)
 
void FinishSetupPhase (ABYSetup *setup)
 
void EvaluateLocalOperations (uint32_t gateid)
 
void EvaluateInteractiveOperations (uint32_t gateid)
 
void FinishCircuitLayer ()
 
void PrepareOnlinePhase ()
 
void InstantiateGate (GATE *gate)
 
void UsedGate (uint32_t gateid)
 
void GetDataToSend (vector< BYTE * > &sendbuf, vector< uint32_t > &bytesize)
 
void GetBuffersToReceive (vector< BYTE * > &rcvbuf, vector< uint32_t > &rcvbytes)
 
uint32_t AssignInput (CBitVector &input)
 
uint32_t GetOutput (CBitVector &out)
 
uint32_t GetMaxCommunicationRounds ()
 
uint32_t GetNumNonLinearOperations ()
 
CircuitGetCircuitBuildRoutine ()
 
const char * sharing_type ()
 
void PrintPerformanceStatistics ()
 
void EvaluateSIMDGate (uint32_t gateid)
 
void EvaluateINVGate (GATE *gate)
 
void EvaluateCONVGate (GATE *gate)
 
- Public Member Functions inherited from Sharing
 Sharing (e_role role, uint32_t sharebitlen, ABYCircuit *circuit, crypto *crypt)
 Initialises the members of the class. More...
 
 ~Sharing ()
 

Additional Inherited Members

- Protected Member Functions inherited from Sharing
void EvaluateCallbackGate (uint32_t gateid)
 
- Protected Attributes inherited from Sharing
uint32_t m_nShareBitLen
 
GATEm_pGates
 
ABYCircuitm_pCircuit
 
e_role m_eRole
 
uint32_t m_nSecParamBytes
 
cryptom_cCrypto
 

Detailed Description

template<typename T>
class ArithSharing< T >

Arithemetic Sharing Class.

Constructor & Destructor Documentation

template<typename T >
ArithSharing< T >::ArithSharing ( e_role  role,
uint32_t  sharebitlen,
ABYCircuit circuit,
crypto crypt,
e_mt_gen_alg  mt_alg 
)
inline

Constructor of the class.

template<typename T >
ArithSharing< T >::~ArithSharing ( )
inline

Destructor of the class.

Member Function Documentation

template<typename T >
uint32_t ArithSharing< T >::AssignInput ( CBitVector input)
virtual

Method for assigning the input

Parameters
inputInput

Implements Sharing.

template<typename T >
void ArithSharing< T >::EvaluateCONVGate ( GATE gate)

Evaluating Conversion Gate.

Parameters
gateObject of the gate to be evaluated.
template<typename T >
void ArithSharing< T >::EvaluateInteractiveOperations ( uint32_t  level)
virtual

Method for evaluating the interactive operations.

Parameters
level_______________________

Implements Sharing.

template<typename T >
void ArithSharing< T >::EvaluateINVGate ( GATE gate)

Evaluating Inversion Gate.

Parameters
gateObject of the gate to be evaluated.
template<typename T >
void ArithSharing< T >::EvaluateLocalOperations ( uint32_t  level)
virtual

Method for evaluating the local operations.

Parameters
level_______________________

Implements Sharing.

template<typename T >
void ArithSharing< T >::EvaluateSIMDGate ( uint32_t  gateid)

Evaluating SIMD Gate.

Parameters
gateidIdentifier of the gate to be evaluated.
template<typename T >
void ArithSharing< T >::FinishCircuitLayer ( )
virtual

Method for finishing the circuit layer <Better description="" please>="">

Implements Sharing.

template<typename T >
void ArithSharing< T >::FinishSetupPhase ( ABYSetup setup)
virtual

Method for finishing the sharing setup.

Parameters
setupObject for setting up the share.

Implements Sharing.

template<typename T >
void ArithSharing< T >::GetBuffersToReceive ( vector< BYTE * > &  rcvbuf,
vector< uint32_t > &  rcvbytes 
)
virtual

Method for receiving the data.

Parameters
rsvbufreceiver buffer
rcvsizedata size

Implements Sharing.

template<typename T >
Circuit* ArithSharing< T >::GetCircuitBuildRoutine ( )
inlinevirtual

Method for _________________________________

Implements Sharing.

template<typename T >
void ArithSharing< T >::GetDataToSend ( vector< BYTE * > &  sendbuf,
vector< uint32_t > &  bytesize 
)
virtual

Method for sending the data.

Parameters
sendbufsender buffer
bytesizedata size

Implements Sharing.

template<typename T >
uint32_t ArithSharing< T >::GetMaxCommunicationRounds ( )
inlinevirtual

Method for finding the maximum communication rounds.

Implements Sharing.

template<typename T >
uint32_t ArithSharing< T >::GetNumNonLinearOperations ( )
inlinevirtual

Method for finding the number of non-linear operations.

Implements Sharing.

template<typename T >
uint32_t ArithSharing< T >::GetOutput ( CBitVector out)
virtual

Method for getting the output

Parameters
outputOutput

Implements Sharing.

template<typename T >
void ArithSharing< T >::InstantiateGate ( GATE gate)
virtual

Method for Instantiating a gate

Parameters
gateInput gate

Implements Sharing.

template<typename T >
void ArithSharing< T >::PerformSetupPhase ( ABYSetup setup)
virtual

Method for performing the sharing setup.

Parameters
setupObject for setting up the share.

Implements Sharing.

template<typename T >
void ArithSharing< T >::PrepareOnlinePhase ( )
virtual

Method for preparing the online phase <Better description="" please>="">

Implements Sharing.

template<typename T >
void ArithSharing< T >::PrepareSetupPhase ( ABYSetup setup)
virtual

Method for preparing the sharing setup.

Parameters
setupObject for setting up the share.

Implements Sharing.

template<typename T >
void ArithSharing< T >::PrintPerformanceStatistics ( )
virtual

Method for printing the performance statistics.

Implements Sharing.

template<typename T >
void ArithSharing< T >::Reset ( )
virtual

Reset method

Implements Sharing.

template<typename T >
const char* ArithSharing< T >::sharing_type ( )
inlinevirtual

Method for knowing the sharing type used.

Implements Sharing.

template<typename T >
void ArithSharing< T >::UsedGate ( uint32_t  gateid)
virtual

Method for finding the used gate with the gateid.

Parameters
gateidId of the used gate.

Implements Sharing.


The documentation for this class was generated from the following files: