MOTION
0.01
Framework for mixed-protocol multi-party computation
|
Go to the documentation of this file.
41 class Share :
public std::enable_shared_from_this<Share> {
43 virtual ~Share() =
default;
53 virtual const std::vector<WirePointer>&
GetWires()
const noexcept = 0;
57 virtual std::vector<std::shared_ptr<Share>>
Split()
const noexcept = 0;
59 virtual std::shared_ptr<Share>
GetWire(std::size_t i)
const = 0;
69 static std::shared_ptr<Share>
Concatenate(
const std::vector<std::shared_ptr<Share>>& v);
bool CheckPartyArgumentSyntax(const std::string &party_argument)
Definition: sha256_main.cpp:95
void Add(const communication::TransportStatistics &statistics)
Definition: analysis.cpp:125
Definition: analysis.h:43
CircuitType
Definition: typedefs.h:165
std::unique_ptr< Party > PartyPointer
Definition: party.h:387
Backend & GetBackend() const
Definition: share.h:61
~BooleanShare() override=default
std::shared_ptr< Wire > WirePointer
Definition: register.h:40
encrypto::motion::PartyPointer CreateParty(const program_options::variables_map &user_options)
Definition: sha256_main.cpp:180
virtual MpcProtocol GetProtocol() const noexcept=0
virtual std::vector< WirePointer > & GetMutableWires() noexcept=0
std::shared_ptr< BooleanShare > BooleanSharePointer
Definition: share.h:92
bool IsConstant() const noexcept
Definition: share.cpp:33
std::vector< WirePointer > wires_
Definition: share.h:77
std::pair< program_options::variables_map, bool > ParseProgramOptions(int ac, char *av[])
Definition: sha256_main.cpp:111
std::shared_ptr< Backend > BackendPointer
Definition: backend.h:333
Definition: tcp_transport.h:69
int main(int ac, char *av[])
Definition: sha256_main.cpp:49
virtual std::vector< std::shared_ptr< Share > > Split() const noexcept=0
static std::shared_ptr< Share > Concatenate(const std::vector< std::shared_ptr< Share >> &v)
const RegisterPointer & GetRegister() const noexcept
Definition: backend.h:101
std::vector< TcpConnectionConfiguration > TcpPartiesConfiguration
Definition: tcp_transport.h:62
Definition: algorithm_description.cpp:35
std::shared_ptr< Share > SharePointer
Definition: conversion_gate.h:49
help
Definition: geninput.py:150
Backend & backend_
Definition: share.h:76
virtual CircuitType GetCircuitType() const noexcept=0
BooleanShare(Backend &backend)
Definition: share.h:89
std::shared_ptr< Register > GetRegister()
Definition: share.cpp:31
std::string PrintStatistics(const std::string &experiment_name, const AccumulatedRunTimeStatistics &execution_statistics, const AccumulatedCommunicationStatistics &communication_statistics)
Definition: analysis.cpp:176
encrypto::motion::RunTimeStatistics EvaluateProtocol(encrypto::motion::PartyPointer &party, std::size_t number_of_simd, encrypto::motion::MpcProtocol protocol, bool check)
Definition: aes128.cpp:56
MpcProtocol
Definition: typedefs.h:140
BooleanShare(BooleanShare &)=delete
virtual std::shared_ptr< Share > GetWire(std::size_t i) const =0
virtual const std::vector< WirePointer > & GetWires() const noexcept=0
virtual std::size_t GetNumberOfSimdValues() const noexcept=0
virtual std::size_t GetBitLength() const noexcept=0
Definition: analysis.h:65
const std::regex kPartyArgumentRegex("(\\d+),(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}),(\\d{1,5})")
void Add(const RunTimeStatistics &statistics)
Definition: analysis.cpp:43
std::vector< std::unique_ptr< Transport > > SetupConnections()
Definition: tcp_transport.cpp:203
std::tuple< std::size_t, std::string, std::uint16_t > ParsePartyArgument(const std::string &party_argument)
Definition: sha256_main.cpp:100