ABY Framework  1.0
Arithmetic Bool Yao Framework
 All Classes Files Functions Variables Enumerations Enumerator Macros
Public Member Functions | List of all members
YaoServerSharing Class Reference

#include <yaoserversharing.h>

Inheritance diagram for YaoServerSharing:
Inheritance graph
[legend]
Collaboration diagram for YaoServerSharing:
Collaboration graph
[legend]

Public Member Functions

 YaoServerSharing (e_role role, uint32_t sharebitlen, ABYCircuit *circuit, crypto *crypt)
 
 ~YaoServerSharing ()
 
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 SendConversionValues (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)
 
const char * sharing_type ()
 
- Public Member Functions inherited from YaoSharing
 YaoSharing (e_role role, uint32_t sharebitlen, ABYCircuit *circuit, crypto *crypt)
 
 ~YaoSharing ()
 
uint32_t GetMaxCommunicationRounds ()
 
uint32_t GetNumNonLinearOperations ()
 
CircuitGetCircuitBuildRoutine ()
 
void PrintPerformanceStatistics ()
 
void EvaluateSIMDGate (uint32_t gateid)
 
- 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 YaoSharing
void Init ()
 
BOOL EncryptWire (BYTE *c, BYTE *p, uint32_t id)
 
void PrintKey (BYTE *key)
 
- Protected Member Functions inherited from Sharing
void EvaluateCallbackGate (uint32_t gateid)
 
- Protected Attributes inherited from YaoSharing
YaoKeym_pKeyOps
 
uint32_t m_nANDGates
 
uint32_t m_nXORGates
 
XORMaskingfMaskFct
 
vector< GATE * > m_vANDGates
 
vector< GATE * > m_vOutputShareGates
 
uint32_t m_nInputShareSndSize
 
uint32_t m_nOutputShareSndSize
 
uint32_t m_nInputShareRcvSize
 
uint32_t m_nOutputShareRcvSize
 
uint32_t m_nClientInputBits
 
CBitVector m_vClientInputKeys
 
uint32_t m_nConversionInputBits
 
uint32_t m_nServerInputBits
 
CBitVector m_vServerInputKeys
 
CBitVector m_vGarbledCircuit
 
uint64_t m_nGarbledTableCtr
 
BYTE * m_bZeroBuf
 
BYTE * m_bTempKeyBuf
 
BooleanCircuitm_cBoolCircuit
 
uint32_t m_nSecParamIters
 
uint64_t m_nANDWindowCtr
 
uint64_t m_nRemANDGates
 
BYTE * m_bResKeyBuf
 
AES_KEY_CTX * m_kGarble
 
- 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

Yao Server Sharing class.

Constructor & Destructor Documentation

YaoServerSharing::YaoServerSharing ( e_role  role,
uint32_t  sharebitlen,
ABYCircuit circuit,
crypto crypt 
)
inline

Constructor of the class.

YaoServerSharing::~YaoServerSharing ( )
inline

Destructor of the class.

Member Function Documentation

uint32_t YaoServerSharing::AssignInput ( CBitVector input)
virtual

Method for assigning the input

Parameters
inputInput

Implements YaoSharing.

void YaoServerSharing::EvaluateInteractiveOperations ( uint32_t  level)
virtual

Method for evaluating the interactive operations.

Parameters
level_______________________

Implements Sharing.

void YaoServerSharing::EvaluateLocalOperations ( uint32_t  level)
virtual

Method for evaluating the local operations.

Parameters
level_______________________

Implements YaoSharing.

void YaoServerSharing::FinishCircuitLayer ( )
virtual

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

Implements YaoSharing.

void YaoServerSharing::FinishSetupPhase ( ABYSetup setup)
virtual

Method for finishing the sharing setup.

Parameters
setupObject for setting up the share.

Implements YaoSharing.

void YaoServerSharing::GetBuffersToReceive ( vector< BYTE * > &  rcvbuf,
vector< uint32_t > &  rcvbytes 
)
virtual

Method for receiving the data.

Parameters
rsvbufreceiver buffer
rcvsizedata size

Implements YaoSharing.

void YaoServerSharing::GetDataToSend ( vector< BYTE * > &  sendbuf,
vector< uint32_t > &  bytesize 
)
virtual

Method for sending the data.

Parameters
sendbufsender buffer
bytesizedata size

Implements YaoSharing.

uint32_t YaoServerSharing::GetOutput ( CBitVector out)
virtual

Method for getting the output

Parameters
outputOutput

Implements YaoSharing.

void YaoServerSharing::InstantiateGate ( GATE gate)
virtual

Method for Instantiating a gate

Parameters
gateInput gate

Implements YaoSharing.

void YaoServerSharing::PerformSetupPhase ( ABYSetup setup)
virtual

Method for performing the sharing setup.

Parameters
setupObject for setting up the share.

Implements YaoSharing.

void YaoServerSharing::PrepareOnlinePhase ( )
virtual

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

Implements YaoSharing.

void YaoServerSharing::PrepareSetupPhase ( ABYSetup setup)
virtual

Method for preparing the sharing setup.

Parameters
setupObject for setting up the share.

Implements YaoSharing.

void YaoServerSharing::Reset ( )
virtual

Reset method

Implements YaoSharing.

const char* YaoServerSharing::sharing_type ( )
inlinevirtual

Method for knowing the sharing type used.

Implements Sharing.

void YaoServerSharing::UsedGate ( uint32_t  gateid)
virtual

Method for finding the used gate with the gateid.

Parameters
gateidId of the used gate.

Implements YaoSharing.


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