Skip to content

Commit 634396a

Browse files
docs: protocol table (#281)
* docs: operations tables * docs: multiplication is public
1 parent 020cd94 commit 634396a

File tree

2 files changed

+123
-0
lines changed

2 files changed

+123
-0
lines changed

README.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,29 @@ If we decided to use docker, we would need to run the image and publish the jupy
6161
Finally, we would need to copy the url shown in the docker to our browser.
6262

6363

64+
Supported protocols
65+
###################
66+
67+
SyMPC supports the following protocols.
68+
69+
.. table::
70+
71+
+--------------+------------------------+-----------------------+
72+
| **Protocol** | **Security Guarantee** | **Number of Parties** |
73+
+==============+========================+=======================+
74+
| ABY3 | Semi-honest, Malicious | 3 |
75+
+--------------+------------------------+-----------------------+
76+
| Falcon | Semi-honest, Malicious | 3 |
77+
+--------------+------------------------+-----------------------+
78+
| FSS | Semi-honest | 2 |
79+
+--------------+------------------------+-----------------------+
80+
| SPDZ | Semi-honest | 2+ |
81+
+--------------+------------------------+-----------------------+
82+
83+
We can see other interesting information about the supported operations and Neural
84+
Network layers in `Supported operations and Neural Network layers <SUPPORTED_OPS.rst>`_.
85+
86+
6487
Contributing
6588
############
6689

SUPPORTED_OPS.rst

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
Supported Operations
2+
####################
3+
4+
Base Tensors
5+
============
6+
7+
The protocols use these base tensors for their operations. Some protocol operations are supported by these tensors.
8+
9+
.. table::
10+
11+
+------------------------+--------------+-----------------------+----------------------+
12+
| **Tensor** | **Protocol** | **Number of parties** | **Shares per party** |
13+
+========================+==============+=======================+======================+
14+
| ReplicatedSharedTensor | ABY3, Falcon | N | N - 1 |
15+
+------------------------+--------------+-----------------------+----------------------+
16+
| ShareTensor | FSS, SPDZ | N | 1 |
17+
+------------------------+--------------+-----------------------+----------------------+
18+
19+
20+
Base Tensor Operations
21+
======================
22+
23+
.. table::
24+
25+
+------------------+----------------+-------------------------+-----------------------+
26+
| **Visibility** | **Operation** | **Tensor** | **Number of Parties** |
27+
+==================+================+=========================+=======================+
28+
| Public & Private | Addition | - ReplicatedShareTensor | - 3 |
29+
| | | - ShareTensor | - 2 |
30+
| +----------------+-------------------------+-----------------------+
31+
| | Subtraction | - ReplicatedShareTensor | - 2+ |
32+
| | | - ShareTensor | - 2 |
33+
+------------------+----------------+-------------------------+-----------------------+
34+
| Public | Multiplication | - ReplicatedShareTensor | - 2+ |
35+
| | | - ShareTensor | - 2+ |
36+
+------------------+----------------+-------------------------+-----------------------+
37+
38+
39+
Protocol Operations
40+
===================
41+
42+
.. table::
43+
44+
+------------------+-----------------------------------------+--------------+-----------------------+
45+
| **Visibility** | **Operation** | **Protocol** | **Number of Parties** |
46+
+==================+=========================================+==============+=======================+
47+
| Public & Private | Mult, matmul, conv2d, conv2d_transpose | - Falcon | - 3 |
48+
| | | - SPDZ | - 2+ |
49+
| +-----------------------------------------+--------------+-----------------------+
50+
| | Equal to | - FSS | 2 |
51+
| +-----------------------------------------+--------------+-----------------------+
52+
| | Non Equal to | - FSS | 2 |
53+
| +-----------------------------------------+--------------+-----------------------+
54+
| | Greater than | - FSS | 2 |
55+
| +-----------------------------------------+--------------+-----------------------+
56+
| | Greater or Equal than | - FSS | 2 |
57+
| +-----------------------------------------+--------------+-----------------------+
58+
| | Less than | - FSS | 2 |
59+
| +-----------------------------------------+--------------+-----------------------+
60+
| | Less or Equal than | - FSS | 2 |
61+
| +-----------------------------------------+--------------+-----------------------+
62+
| | XOR | - FSS | - 2 |
63+
| | | - SPDZ | - 2+ |
64+
| +-----------------------------------------+--------------+-----------------------+
65+
| | Exponential | - FSS | 2 |
66+
| +-----------------------------------------+--------------+-----------------------+
67+
| | Log | - FSS | 2 |
68+
| +-----------------------------------------+--------------+-----------------------+
69+
| | Max | - FSS | 2 |
70+
| +-----------------------------------------+--------------+-----------------------+
71+
| | Reciprocal | - FSS | 2 |
72+
| +-----------------------------------------+--------------+-----------------------+
73+
| | Relu | - FSS | 2 |
74+
| +-----------------------------------------+--------------+-----------------------+
75+
| | Sigmoid | - FSS | 2 |
76+
| +-----------------------------------------+--------------+-----------------------+
77+
| | Softmax | - FSS | 2 |
78+
| +-----------------------------------------+--------------+-----------------------+
79+
| | Tanh | - FSS | 2 |
80+
+------------------+-----------------------------------------+--------------+-----------------------+
81+
| Public | Division | - SPDZ | 2+ |
82+
| +-----------------------------------------+--------------+-----------------------+
83+
| | XOR | - Falcon | 3 |
84+
+------------------+-----------------------------------------+--------------+-----------------------+
85+
86+
87+
88+
89+
Supported Neural Network Layers
90+
###############################
91+
92+
.. table::
93+
94+
+-----------+--------------+
95+
| **Layer** | **Protocol** |
96+
+===========+==============+
97+
| Conv2d | Falcon, SPDZ |
98+
+-----------+--------------+
99+
| Linear | Falcon, SPDZ |
100+
+-----------+--------------+

0 commit comments

Comments
 (0)