MOTION
0.01
Framework for mixed-protocol multi-party computation
|
Go to the documentation of this file.
28 #include <flatbuffers/flatbuffers.h>
45 OtHL17(std::function<
void(flatbuffers::FlatBufferBuilder&&)> send,
BaseOtData& data_storage);
56 std::vector<std::pair<std::vector<std::byte>, std::vector<std::byte>>>
Send(
size_t)
override;
68 std::function<void(flatbuffers::FlatBufferBuilder&&)> send_function_;
74 SenderState(std::size_t ot_id) : i(ot_id) {}
87 struct ReceiverState {
88 ReceiverState(std::size_t ot_id) : i(ot_id) {}
106 static constexpr
size_t kCurve25519GeByteSize = 32;
111 void Send0(SenderState& state, std::array<std::byte, kCurve25519GeByteSize>& message_output);
112 void Send1(SenderState& state);
113 std::pair<std::vector<std::byte>, std::vector<std::byte>> Send2(
114 SenderState& state,
const std::array<std::byte, kCurve25519GeByteSize>& message_input);
119 void Receive0(ReceiverState& state,
bool choice);
120 void Receive1(ReceiverState& state, std::array<std::byte, kCurve25519GeByteSize>& message_output,
121 const std::array<std::byte, kCurve25519GeByteSize>& message_input);
122 std::vector<std::byte> Receive2(ReceiverState& state);
void x25519_ge_p3_to_cached(ge_cached *r, const ge_p3 *p)
Definition: mycurve25519.cpp:3846
Definition: base_ot_data.h:77
void x25519_ge_p1p1_to_p3(ge_p3 *r, const ge_p1p1 *p)
Definition: mycurve25519.cpp:3861
void x25519_ge_scalarmult(ge_p2 *r, const uint8_t *scalar, const ge_p3 *A)
Definition: mycurve25519.cpp:4143
void HashPoint(curve25519::ge_p3 &output, const curve25519::ge_p3 &input)
Definition: ot_hl17.cpp:50
std::vector< std::pair< std::vector< std::byte >, std::vector< std::byte > > > Send(size_t) override
Definition: ot_hl17.cpp:195
Blake2bCtx NewBlakeCtx()
Definition: blake2b.cpp:28
int x25519_ge_frombytes_vartime(ge_p3 *h, const uint8_t *s)
Definition: mycurve25519.cpp:3766
void x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t *a)
Definition: mycurve25519.cpp:4084
void x25519_sc_reduce(uint8_t s[64])
Definition: mycurve25519.cpp:4312
choices
Definition: geninput.py:153
void x25519_ge_tobytes(uint8_t s[32], const ge_p2 *h)
Definition: mycurve25519.cpp:3742
Definition: algorithm_description.cpp:35
int x25519_ge_frombytes_vartime(ge_p3 *h, const uint8_t *s)
Definition: mycurve25519.cpp:3766
void Blake2b(std::uint8_t *message, std::uint8_t digest[64], std::size_t length, EVP_MD_CTX *context)
Definition: blake2b.cpp:32
OtHL17(std::function< void(flatbuffers::FlatBufferBuilder &&)> send, BaseOtData &data_storage)
Definition: ot_hl17.cpp:38
std::vector< std::vector< std::byte > > Receive(const BitVector<> &) override
Definition: ot_hl17.cpp:227
void sc_random(uint8_t s[32])
Definition: mycurve25519.cpp:5238
Definition: base_ots/ot.h:39
void x25519_ge_sub(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q)
Definition: mycurve25519.cpp:3954
void x25519_ge_add(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q)
Definition: mycurve25519.cpp:3936
flatbuffers::FlatBufferBuilder BuildBaseROtMessageSender(std::byte *buffer, std::size_t size, std::size_t ot_id)
Definition: base_ot_message.cpp:43
BaseOtSenderData & GetSenderData()
Definition: base_ot_data.h:83
flatbuffers::FlatBufferBuilder BuildBaseROtMessageReceiver(std::byte *buffer, std::size_t size, std::size_t ot_id)
Definition: base_ot_message.cpp:32
BaseOtReceiverData & GetReceiverData()
Definition: base_ot_data.h:81
void ge_p3_tobytes(uint8_t s[32], const ge_p3 *h)
Definition: mycurve25519.cpp:3754