1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # Oblivious Transfer (OT), Oblivious Transfer Extensions (OTE) and multi-party protocols based on that.
//!
//! ## Oblivious Transfer protocols
//!
//! 1. [Simplest OT protocol](./src/base_ot/simplest_ot.rs)
//! 2. [Naor Pinkas OT](./src/base_ot/naor_pinkas_ot.rs)
//! 3. [Endemic OT](./src/base_ot/endemic_ot.rs)
//!
//! ## Oblivious Transfer Extensions
//! 1. [ALSZ](./src/ot_extensions/alsz_ote.rs)
//! 2. [KOS](./src/ot_extensions/kos_ote.rs)
//!
//! ## Oblivious Transfer based multiplication
//! 1. [DKLS18](./src/ot_based_multiplication/dkls18_mul_2p.rs) - 2 party multiplication of where each party has a single input
//! 2. [DKLS19](./src/ot_based_multiplication/dkls19_batch_mul_2p.rs) - 2 party batch-multiplication of where each party has multiple inputs, say `n` inputs and those inputs will be multiplied, i.e. a total of `2*n` multiplications will be done with each being between 2 inputs
//!
/// 2-party and multi-party multiplication protocols built on Oblivious Transfer (OT)
use ;
use Vec;
use ;
pub type Key = ;
pub type Bit = bool;
pub type Message = ;
/// A bit matrix stored in row-major order, i.e. the first byte has the first 8 bits, second byte has
/// next 8 bits, and so on.
;
pub type ParticipantId = u16;