MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
encrypto::motion::OtProvider Class Referenceabstract

#include <ot_provider.h>

Inheritance diagram for encrypto::motion::OtProvider:
Inheritance graph
[legend]
Collaboration diagram for encrypto::motion::OtProvider:
Collaboration graph
[legend]

Public Member Functions

virtual ~OtProvider ()=default
 
 OtProvider (const OtProvider &)=delete
 
std::unique_ptr< ROtSenderRegisterSendROt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< XcOtSenderRegisterSendXcOt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< FixedXcOt128SenderRegisterSendFixedXcOt128 (std::size_t number_of_ots=1)
 
std::unique_ptr< XcOtBitSenderRegisterSendXcOtBit (std::size_t number_of_ots=1)
 
template<typename T >
std::unique_ptr< AcOtSender< T > > RegisterSendAcOt (std::size_t number_of_ots=1, std::size_t vector_size=1)
 
std::unique_ptr< GOtSenderRegisterSendGOt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< GOt128SenderRegisterSendGOt128 (std::size_t number_of_ots=1)
 
std::unique_ptr< GOtBitSenderRegisterSendGOtBit (std::size_t number_of_ots=1)
 
std::unique_ptr< ROtReceiverRegisterReceiveROt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< XcOtReceiverRegisterReceiveXcOt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< FixedXcOt128ReceiverRegisterReceiveFixedXcOt128 (std::size_t number_of_ots=1)
 
std::unique_ptr< XcOtBitReceiverRegisterReceiveXcOtBit (std::size_t number_of_ots=1)
 
template<typename T >
std::unique_ptr< AcOtReceiver< T > > RegisterReceiveAcOt (std::size_t number_of_ots=1, std::size_t vector_size=1)
 
std::unique_ptr< GOtReceiverRegisterReceiveGOt (std::size_t number_of_ots=1, std::size_t bitlength=1)
 
std::unique_ptr< GOt128ReceiverRegisterReceiveGOt128 (std::size_t number_of_ots=1)
 
std::unique_ptr< GOtBitReceiverRegisterReceiveGOtBit (std::size_t number_of_ots=1)
 
std::size_t GetNumOtsReceiver () const
 
std::size_t GetNumOtsSender () const
 
virtual void SendSetup ()=0
 
virtual void ReceiveSetup ()=0
 
void WaitSetup () const
 
void Clear ()
 
void Reset ()
 

Protected Member Functions

 OtProvider (std::function< void(flatbuffers::FlatBufferBuilder &&)> send_function, OtExtensionData &data, std::size_t party_id, std::shared_ptr< Logger > logger)
 

Protected Attributes

std::function< void(flatbuffers::FlatBufferBuilder &&)> send_function_
 
OtExtensionDatadata_
 
OtProviderReceiver receiver_provider_
 
OtProviderSender sender_provider_
 

Constructor & Destructor Documentation

◆ ~OtProvider()

virtual encrypto::motion::OtProvider::~OtProvider ( )
virtualdefault

◆ OtProvider() [1/2]

encrypto::motion::OtProvider::OtProvider ( const OtProvider )
delete

◆ OtProvider() [2/2]

encrypto::motion::OtProvider::OtProvider ( std::function< void(flatbuffers::FlatBufferBuilder &&)>  send_function,
OtExtensionData data,
std::size_t  party_id,
std::shared_ptr< Logger logger 
)
protected

Member Function Documentation

◆ Clear()

void encrypto::motion::OtProvider::Clear ( )
inline
Here is the call graph for this function:

◆ GetNumOtsReceiver()

std::size_t encrypto::motion::OtProvider::GetNumOtsReceiver ( ) const
inline
Here is the call graph for this function:

◆ GetNumOtsSender()

std::size_t encrypto::motion::OtProvider::GetNumOtsSender ( ) const
inline
Here is the call graph for this function:

◆ ReceiveSetup()

virtual void encrypto::motion::OtProvider::ReceiveSetup ( )
pure virtual

◆ RegisterReceiveAcOt()

template<typename T >
template std::unique_ptr< AcOtReceiver< __uint128_t > > encrypto::motion::OtProvider::RegisterReceiveAcOt ( std::size_t  number_of_ots = 1,
std::size_t  vector_size = 1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterReceiveFixedXcOt128()

std::unique_ptr< FixedXcOt128Receiver > encrypto::motion::OtProvider::RegisterReceiveFixedXcOt128 ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterReceiveGOt()

std::unique_ptr< GOtReceiver > encrypto::motion::OtProvider::RegisterReceiveGOt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:

◆ RegisterReceiveGOt128()

std::unique_ptr< GOt128Receiver > encrypto::motion::OtProvider::RegisterReceiveGOt128 ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:

◆ RegisterReceiveGOtBit()

std::unique_ptr< GOtBitReceiver > encrypto::motion::OtProvider::RegisterReceiveGOtBit ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:

◆ RegisterReceiveROt()

std::unique_ptr< ROtReceiver > encrypto::motion::OtProvider::RegisterReceiveROt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:

◆ RegisterReceiveXcOt()

std::unique_ptr< XcOtReceiver > encrypto::motion::OtProvider::RegisterReceiveXcOt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterReceiveXcOtBit()

std::unique_ptr< XcOtBitReceiver > encrypto::motion::OtProvider::RegisterReceiveXcOtBit ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterSendAcOt()

template<typename T >
template std::unique_ptr< AcOtSender< __uint128_t > > encrypto::motion::OtProvider::RegisterSendAcOt ( std::size_t  number_of_ots = 1,
std::size_t  vector_size = 1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterSendFixedXcOt128()

std::unique_ptr< FixedXcOt128Sender > encrypto::motion::OtProvider::RegisterSendFixedXcOt128 ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterSendGOt()

std::unique_ptr< GOtSender > encrypto::motion::OtProvider::RegisterSendGOt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:

◆ RegisterSendGOt128()

std::unique_ptr< GOt128Sender > encrypto::motion::OtProvider::RegisterSendGOt128 ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:

◆ RegisterSendGOtBit()

std::unique_ptr< GOtBitSender > encrypto::motion::OtProvider::RegisterSendGOtBit ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:

◆ RegisterSendROt()

std::unique_ptr< ROtSender > encrypto::motion::OtProvider::RegisterSendROt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:

◆ RegisterSendXcOt()

std::unique_ptr< XcOtSender > encrypto::motion::OtProvider::RegisterSendXcOt ( std::size_t  number_of_ots = 1,
std::size_t  bitlength = 1 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RegisterSendXcOtBit()

std::unique_ptr< XcOtBitSender > encrypto::motion::OtProvider::RegisterSendXcOtBit ( std::size_t  number_of_ots = 1)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Reset()

void encrypto::motion::OtProvider::Reset ( )
inline
Here is the call graph for this function:

◆ SendSetup()

virtual void encrypto::motion::OtProvider::SendSetup ( )
pure virtual

◆ WaitSetup()

void encrypto::motion::OtProvider::WaitSetup ( ) const
Here is the call graph for this function:

Member Data Documentation

◆ data_

OtExtensionData& encrypto::motion::OtProvider::data_
protected

◆ receiver_provider_

OtProviderReceiver encrypto::motion::OtProvider::receiver_provider_
protected

◆ send_function_

std::function<void(flatbuffers::FlatBufferBuilder&&)> encrypto::motion::OtProvider::send_function_
protected

◆ sender_provider_

OtProviderSender encrypto::motion::OtProvider::sender_provider_
protected

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