MOTION  0.01
Framework for mixed-protocol multi-party computation
Public Member Functions | List of all members
encrypto::motion::MtProviderFromOts Class Referencefinal

#include <mt_provider.h>

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

Public Member Functions

 MtProviderFromOts (std::vector< std::unique_ptr< OtProvider >> &ot_providers, const std::size_t my_id, Logger &logger, RunTimeStatistics &run_time_statistics)
 
 ~MtProviderFromOts ()
 
void PreSetup () final override
 
void Setup () final override
 
- Public Member Functions inherited from encrypto::motion::MtProvider
virtual ~MtProvider ()=default
 
bool NeedMts () const noexcept
 
template<typename T >
std::size_t GetNumberOfMts () const noexcept
 
std::size_t RequestBinaryMts (const std::size_t number_of_mts) noexcept
 
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
std::size_t RequestArithmeticMts (const std::size_t number_of_mts) noexcept
 
BinaryMtVector GetBinary (const std::size_t offset, const std::size_t n=1) const
 
const BinaryMtVectorGetBinaryAll () const noexcept
 
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
IntegerMtVector< T > GetInteger (const std::size_t offset, const std::size_t n=1) const
 
template<typename T , typename = std::enable_if_t<std::is_unsigned_v<T>>>
const IntegerMtVector< T > & GetIntegerAll () const noexcept
 
void WaitFinished () const
 

Additional Inherited Members

- Protected Member Functions inherited from encrypto::motion::MtProvider
 MtProvider (std::size_t my_id, std::size_t number_of_parties)
 
 MtProvider ()=delete
 
- Protected Attributes inherited from encrypto::motion::MtProvider
std::size_t number_of_bit_mts_ {0}
 
std::size_t number_of_mts_8_ {0}
 
std::size_t number_of_mts_16_ {0}
 
std::size_t number_of_mts_32_ {0}
 
std::size_t number_of_mts_64_ {0}
 
BinaryMtVector bit_mts_
 
IntegerMtVector< std::uint8_t > mts8_
 
IntegerMtVector< std::uint16_t > mts16_
 
IntegerMtVector< std::uint32_t > mts32_
 
IntegerMtVector< std::uint64_t > mts64_
 
const std::size_t my_id_
 
const std::size_t number_of_parties_
 
std::atomic< bool > finished_ {false}
 
std::shared_ptr< FiberConditionfinished_condition_
 

Constructor & Destructor Documentation

◆ MtProviderFromOts()

encrypto::motion::MtProviderFromOts::MtProviderFromOts ( std::vector< std::unique_ptr< OtProvider >> &  ot_providers,
const std::size_t  my_id,
Logger logger,
RunTimeStatistics run_time_statistics 
)

◆ ~MtProviderFromOts()

encrypto::motion::MtProviderFromOts::~MtProviderFromOts ( )
default

Member Function Documentation

◆ PreSetup()

void encrypto::motion::MtProviderFromOts::PreSetup ( )
finaloverridevirtual

Implements encrypto::motion::MtProvider.

Here is the call graph for this function:

◆ Setup()

void encrypto::motion::MtProviderFromOts::Setup ( )
finaloverridevirtual

Implements encrypto::motion::MtProvider.

Here is the call graph for this function:

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