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

#include <bmr_wire.h>

Inheritance diagram for encrypto::motion::proto::bmr::Wire:
Inheritance graph
[legend]
Collaboration diagram for encrypto::motion::proto::bmr::Wire:
Collaboration graph
[legend]

Public Member Functions

 Wire (Backend &backend, std::size_t number_of_simd)
 
 Wire (BitVector<> &&values, Backend &backend)
 
 Wire (const BitVector<> &values, Backend &backend)
 
 Wire (bool value, Backend &backend)
 
 ~Wire () final=default
 
MpcProtocol GetProtocol () const final
 
 Wire ()=delete
 
 Wire (Wire &)=delete
 
std::size_t GetBitLength () const final
 
const BitVectorGetPublicValues () const
 
BitVectorGetMutablePublicValues ()
 
const BitVectorGetPermutationBits () const
 
BitVectorGetMutablePermutationBits ()
 
const auto & GetSecretKeys () const
 
auto & GetMutableSecretKeys ()
 
const auto & GetPublicKeys () const
 
auto & GetMutablePublicKeys ()
 
void GenerateRandomPrivateKeys ()
 
void GenerateRandomPermutationBits ()
 
void SetSetupIsReady ()
 
const auto & GetSetupReadyCondition () const
 
bool IsConstant () const noexcept final
 
- Public Member Functions inherited from encrypto::motion::BooleanWire
 ~BooleanWire () override=default
 
CircuitType GetCircuitType () const final
 
 BooleanWire (BooleanWire &)=delete
 
- Public Member Functions inherited from encrypto::motion::Wire
std::size_t GetNumberOfSimdValues () const
 
void RegisterWaitingGate (std::size_t gate_id)
 
void SetOnlineFinished ()
 
const auto & GetWaitingGatesIds () const noexcept
 
const std::atomic< bool > & IsReady () const noexcept
 
const FiberConditionGetIsReadyCondition () const noexcept
 
std::size_t GetWireId () const
 
BackendGetBackend () const
 
void Clear ()
 
 Wire (const Wire &)=delete
 

Protected Member Functions

void DynamicClear () final
 
- Protected Member Functions inherited from encrypto::motion::BooleanWire
 BooleanWire (Backend &backend, std::size_t number_of_simd)
 
- Protected Member Functions inherited from encrypto::motion::Wire
 Wire (Backend &backend, std::size_t number_of_simd)
 

Additional Inherited Members

- Static Public Member Functions inherited from encrypto::motion::Wire
static std::string PrintIds (const std::vector< std::shared_ptr< Wire >> &wires)
 
- Static Protected Member Functions inherited from encrypto::motion::Wire
static void SignalReadyToDependency (std::size_t gate_id, Backend &backend)
 
- Protected Attributes inherited from encrypto::motion::Wire
Backendbackend_
 
std::size_t n_simd_ = 0
 Number of values that are logically processed in parallel. More...
 
std::atomic< bool > is_done_ = false
 
FiberCondition is_done_condition_
 
std::int64_t wire_id_ = -1
 
std::unordered_set< std::size_t > waiting_gate_ids_
 

Constructor & Destructor Documentation

◆ Wire() [1/6]

encrypto::motion::proto::bmr::Wire::Wire ( Backend backend,
std::size_t  number_of_simd 
)

◆ Wire() [2/6]

encrypto::motion::proto::bmr::Wire::Wire ( BitVector<> &&  values,
Backend backend 
)
explicit

◆ Wire() [3/6]

encrypto::motion::proto::bmr::Wire::Wire ( const BitVector<> &  values,
Backend backend 
)
explicit

◆ Wire() [4/6]

encrypto::motion::proto::bmr::Wire::Wire ( bool  value,
Backend backend 
)
explicit

◆ ~Wire()

encrypto::motion::proto::bmr::Wire::~Wire ( )
finalvirtualdefault

Reimplemented from encrypto::motion::Wire.

◆ Wire() [5/6]

encrypto::motion::proto::bmr::Wire::Wire ( )
delete

◆ Wire() [6/6]

encrypto::motion::proto::bmr::Wire::Wire ( Wire )
delete

Member Function Documentation

◆ DynamicClear()

void encrypto::motion::proto::bmr::Wire::DynamicClear ( )
inlinefinalprotectedvirtual

Reimplemented from encrypto::motion::Wire.

◆ GenerateRandomPermutationBits()

void encrypto::motion::proto::bmr::Wire::GenerateRandomPermutationBits ( )
Here is the call graph for this function:

◆ GenerateRandomPrivateKeys()

void encrypto::motion::proto::bmr::Wire::GenerateRandomPrivateKeys ( )
Here is the call graph for this function:

◆ GetBitLength()

std::size_t encrypto::motion::proto::bmr::Wire::GetBitLength ( ) const
inlinefinalvirtual

◆ GetMutablePermutationBits()

BitVector& encrypto::motion::proto::bmr::Wire::GetMutablePermutationBits ( )
inline

◆ GetMutablePublicKeys()

auto& encrypto::motion::proto::bmr::Wire::GetMutablePublicKeys ( )
inline

◆ GetMutablePublicValues()

BitVector& encrypto::motion::proto::bmr::Wire::GetMutablePublicValues ( )
inline

◆ GetMutableSecretKeys()

auto& encrypto::motion::proto::bmr::Wire::GetMutableSecretKeys ( )
inline

◆ GetPermutationBits()

const BitVector& encrypto::motion::proto::bmr::Wire::GetPermutationBits ( ) const
inline

◆ GetProtocol()

MpcProtocol encrypto::motion::proto::bmr::Wire::GetProtocol ( ) const
inlinefinalvirtual

◆ GetPublicKeys()

const auto& encrypto::motion::proto::bmr::Wire::GetPublicKeys ( ) const
inline

◆ GetPublicValues()

const BitVector& encrypto::motion::proto::bmr::Wire::GetPublicValues ( ) const
inline

◆ GetSecretKeys()

const auto& encrypto::motion::proto::bmr::Wire::GetSecretKeys ( ) const
inline

◆ GetSetupReadyCondition()

const auto& encrypto::motion::proto::bmr::Wire::GetSetupReadyCondition ( ) const
inline

◆ IsConstant()

bool encrypto::motion::proto::bmr::Wire::IsConstant ( ) const
inlinefinalvirtualnoexcept

◆ SetSetupIsReady()

void encrypto::motion::proto::bmr::Wire::SetSetupIsReady ( )
inline

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