1/35
Reducing Communication Channels in MPC
Marcel Keller 1,2 Dragos Rotaru 1,3 Nigel Smart 1,3 Tim Wood 1,3
1University of Bristol 2Data61 3KU Leuven/COSIC ESAT
Reducing Communication Channels in MPC Marcel Keller 1,2 Dragos - - PowerPoint PPT Presentation
Reducing Communication Channels in MPC Marcel Keller 1,2 Dragos Rotaru 1,3 Nigel Smart 1,3 T im Wood 1,3 1 University of Bristol 2 Data61 3 KU Leuven/COSIC ESAT 1/35 Outline Goal Generalising MPC Tools Performing MPC 2/35 Outline Goal
1/35
1University of Bristol 2Data61 3KU Leuven/COSIC ESAT
2/35
3/35
4/35
4/35
4/35
4/35
4/35
4/35
5/35
5/35
5/35
6/35
1communication/computation cost
7/35
[Mau06] Secure Multi-party Computation Made Simple, Journal of Discrete Applied Mathematics, 2006
7/35
[Mau06] Secure Multi-party Computation Made Simple, Journal of Discrete Applied Mathematics, 2006 [AFLNO16] High-Throughput Semi-Honest Secure Three-Party Computation with an Honest Majority, CCS 2016
7/35
[Mau06] Secure Multi-party Computation Made Simple, Journal of Discrete Applied Mathematics, 2006 [AFLNO16] High-Throughput Semi-Honest Secure Three-Party Computation with an Honest Majority, CCS 2016
2Asymptotics are hard to give because it depends on the access structure
8/35
9/35
9/35
9/35
9/35
9/35
10/35
$
B∈B sB.
11/35
12/35
P1 P2 P3 P4 [ [s] ] s{1,2} s{1,3} s{1,4} s{1,2} s{2,3,4} s{1,3} s{2,3,4} s{1,4} s{2,3,4} + + + + + + + + + + [ [t] ] t{1,2} t{1,3} t{1,4} t{1,2} t{2,3,4} t{1,3} t{2,3,4} t{1,4} t{2,3,4} = = = = = = = = = = [ [u] ] u{1,2} u{1,3} u{1,4} u{1,2} u{2,3,4} u{1,3} u{2,3,4} u{1,4} u{2,3,4}
13/35
13/35
13/35
14/35
15/35
P1 , P2 , P3 , P4 can compute an additive sharing of the product: st = s{2,3,4} · t{2,3,4} + s{2,3,4} · t{1,4} + s{2,3,4} · t{1,3} + s{2,3,4} · t{1,2} s{1,4} · t{2,3,4} + s{1,4} · t{1,4} + s{1,4} · t{1,3} + s{1,4} · t{1,2} s{1,3} · t{2,3,4} + s{1,3} · t{1,4} + s{1,3} · t{1,3} + s{1,3} · t{1,2} s{1,2} · t{2,3,4} + s{1,2} · t{1,4} + s{1,2} · t{1,3} + s{1,2} · t{1,2} M1 ∪ M2 P ∀M1, M2 ∈ ∆+ ⇐ ⇒ B1 ∩ B2 = ∅ ∀B1, B2 ∈ B
15/35
P1 , P2 , P3 , P4 can compute an additive sharing of the product: st = s{2,3,4} · t{2,3,4} + s{2,3,4} · t{1,4} + s{2,3,4} · t{1,3} + s{2,3,4} · t{1,2} s{1,4} · t{2,3,4} + s{1,4} · t{1,4} + s{1,4} · t{1,3} + s{1,4} · t{1,2} s{1,3} · t{2,3,4} + s{1,3} · t{1,4} + s{1,3} · t{1,3} + s{1,3} · t{1,2} s{1,2} · t{2,3,4} + s{1,2} · t{1,4} + s{1,2} · t{1,3} + s{1,2} · t{1,2}
u(2) := s{2,3,4} · t{1,2} + s{1,2} · t{2,3,4} + s{1,2} · t{1,2}
16/35
16/35
{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}
16/35
{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}
{1,2}
16/35
{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}
{1,3}
16/35
{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}
{1,4}
16/35
{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}
{2,3,4}
{2,3,4}
{2,3,4}
16/35
17/35
3Usually more sets than parties
18/35
P1 sets v{1,4} := u(1) + z(1) and sends to P4 P2 sets v{1,2} := u(2) + z(2) and sends to P1 P3 sets v{1,3} := u(3) + z(3) and sends to P1 P4 sets v{2,3,4} := u(4) + z(4) and sends to P2 and P3 P1 P2 P3 P4
18/35
P1 sets v{1,4} := u(1) + z(1) and sends to P4 P2 sets v{1,2} := u(2) + z(2) and sends to P1 P3 sets v{1,3} := u(3) + z(3) and sends to P1 P4 sets v{2,3,4} := u(4) + z(4) and sends to P2 and P3 P1 P2 P3 P4 v{1,4}
18/35
P1 sets v{1,4} := u(1) + z(1) and sends to P4 P2 sets v{1,2} := u(2) + z(2) and sends to P1 P3 sets v{1,3} := u(3) + z(3) and sends to P1 P4 sets v{2,3,4} := u(4) + z(4) and sends to P2 and P3 P1 P2 P3 P4 v{1,2}
18/35
P1 sets v{1,4} := u(1) + z(1) and sends to P4 P2 sets v{1,2} := u(2) + z(2) and sends to P1 P3 sets v{1,3} := u(3) + z(3) and sends to P1 P4 sets v{2,3,4} := u(4) + z(4) and sends to P2 and P3 P1 P2 P3 P4 v{1,3}
18/35
P1 sets v{1,4} := u(1) + z(1) and sends to P4 P2 sets v{1,2} := u(2) + z(2) and sends to P1 P3 sets v{1,3} := u(3) + z(3) and sends to P1 P4 sets v{2,3,4} := u(4) + z(4) and sends to P2 and P3 P1 P2 P3 P4 v{2,3,4} v{2,3,4}
19/35
20/35
20/35
21/35
P1 P2 P3 P4
21/35
P1 P2 P3 P4
v{2,3,4} v{2,3,4}
21/35
P1 P2 P3 P4
! ! !
22/35
P1 P2 P3 P4
22/35
P1 P2 P3 P4 v{1,4} v{1,4} B1 = {{1, 4}}
22/35
P1 P2 P3 P4 v{1,2} v{1,2} B2 = {{1, 2}}
22/35
P1 P2 P3 P4 v{1,3} v{1,3} B3 = {{1, 3}}
22/35
P1 P2 P3 P4 v{2,3,4} B4 = {{2, 3, 4}}
22/35
23/35
23/35
23/35
24/35
25/35
26/35
27/35
28/35
29/35
29/35
30/35
t
1 2 · n · (n − 1)
t
t
31/35
32/35
33/35
34/35
35/35
P1 P2 P3 P4 P5 Share index 123 124 125 134 135 145 234 235 245 345 u(1) − r1 u(2) − r2 u(3) − r3 u(4) − r4 u(5) − r5 r1 r1 r1 r2 r2 r2 r3 r3 r3 r4 r4 r4 r5 r5 r5 r1 := Fk{1,2,4}(count) r4 := Fk{2,4,5}(count) r2 := Fk{2,3,5}(count) r5 := Fk{1,3,5}(count) r3 := Fk{1,3,4}(count)