|
| Party ()=delete |
|
| Party (Party &party)=delete |
|
| Party (std::unique_ptr< communication::CommunicationLayer > parties) |
|
| ~Party () |
|
ConfigurationPointer | GetConfiguration () |
|
communication::CommunicationLayer & | GetCommunicationLayer () |
|
template<MpcProtocol P> |
SharePointer | In (std::span< const BitVector<>> input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P> |
SharePointer | In (std::vector< BitVector<>> &&input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P> |
SharePointer | In (const BitVector<> &input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P> |
SharePointer | In (BitVector<> &&input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P, typename T = std::uint8_t, typename = std::enable_if_t<std::is_unsigned_v<T>>> |
SharePointer | In (const std::vector< T > &input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P, typename T = std::uint8_t, typename = std::enable_if_t<std::is_unsigned_v<T>>> |
SharePointer | In (std::vector< T > &&input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P, typename T = std::uint8_t, typename = std::enable_if_t<std::is_unsigned_v<T>>> |
SharePointer | In (T input, std::size_t party_id=std::numeric_limits< std::size_t >::max()) |
|
template<MpcProtocol P, typename T = std::uint8_t, typename = std::enable_if_t<std::is_unsigned_v<T>>> |
SharePointer | SharedIn (T input) |
|
template<MpcProtocol P, typename T = std::uint8_t, typename = std::enable_if_t<std::is_unsigned_v<T>>> |
SharePointer | SharedIn (const std::vector< T > &input) |
|
template<MpcProtocol P> |
SharePointer | SharedIn (std::span< const BitVector<>> input) |
|
SharePointer | Xor (const SharePointer &a, const SharePointer &b) |
|
SharePointer | Out (SharePointer parent, std::size_t output_owner) |
|
SharePointer | Add (const SharePointer &a, const SharePointer &b) |
|
SharePointer | And (const SharePointer &a, const SharePointer &b) |
|
void | Run (std::size_t repetitions=1) |
| Evaluates the constructed gates a predefined number of times. This is realized via repeatedly calling Party::Clear() after each evaluation. If Connect() was not called yet, it is called automatically at the beginning of this method. More...
|
|
void | Reset () |
| Destroys all the gates and wires that were constructed until now. More...
|
|
void | Clear () |
| Interprets the gates and wires as newly created, i.e., Party::Run() can be executed again. More...
|
|
const auto & | GetLogger () |
|
void | Finish () |
| Sends a termination message to all of the connected parties. In case a TCP connection is used, this will internally be interpreted as a signal to disconnect. More...
|
|
auto & | GetBackend () |
|
void encrypto::motion::Party::Finish |
( |
| ) |
|
Sends a termination message to all of the connected parties. In case a TCP connection is used, this will internally be interpreted as a signal to disconnect.
This method is executed by the Party destructor, but if the parties are run locally, e.g., for testing purposes, the user SHALL ensure that Party::Finish() is run in parallel or otherwise the desctructors will likely be called sequentially which will result in a deadlock, since both connected parties must have sent a termination message and the destructor will wait for the other party to send the signal. It is allowed to call Party::Finish() multiple times.