Reducing Communication Channels in MPC Marcel Keller 1,2 Dragos - - PowerPoint PPT Presentation

reducing communication channels in mpc
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

2/35

Outline

Goal Generalising MPC Tools Performing MPC

slide-3
SLIDE 3

3/35

Outline

Goal Generalising MPC Tools Performing MPC

slide-4
SLIDE 4

4/35

What is MPC?

slide-5
SLIDE 5

4/35

What is MPC?

F P1 P2 P3 P4 P5 P6 P7

slide-6
SLIDE 6

4/35

What is MPC?

F P1 P2 P3 P4 P5 P6 P7

slide-7
SLIDE 7

4/35

What is MPC?

F P1 P2 P3 P4 P5 P6 P7 P1 P2 P3 P4 P5 P6 P7

slide-8
SLIDE 8

4/35

What is MPC?

F P1 P2 P3 P4 P5 P6 P7 ≈ P1 P2 P3 P4 P5 P6 P7

slide-9
SLIDE 9

4/35

What is MPC?

F P1 P2 P3 P4 P5 P6 P7 ≈ P1 P2 P3 P4 P5 P6 P7 Various guarantees: Privacy/Secrecy Correctness Fairness etc.

slide-10
SLIDE 10

5/35

What is MPC?

Types: Garbled circuits Secret-sharing

slide-11
SLIDE 11

5/35

What is MPC?

Types: Garbled circuits Secret-sharing Examples: General MPC (e.g. SPDZ, MASCOT, Yao, etc.) PSI Auctions

slide-12
SLIDE 12

5/35

What is MPC?

Types: Garbled circuits Secret-sharing Examples: General MPC (e.g. SPDZ, MASCOT, Yao, etc.) PSI Auctions Corruption Models: Active/Passive Static/Adaptive etc.

slide-13
SLIDE 13

6/35

Goal

This work:

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. as part of overarching goal: Efficient1 MPC protocols for any access structure.

1communication/computation cost

slide-14
SLIDE 14

7/35

Related Work

Previous best-known protocol was due to Maurer [Mau06]: passively-secure for Q2 structures, actively-secure for Q3.

[Mau06] Secure Multi-party Computation Made Simple, Journal of Discrete Applied Mathematics, 2006

slide-15
SLIDE 15

7/35

Related Work

Previous best-known protocol was due to Maurer [Mau06]: passively-secure for Q2 structures, actively-secure for Q3. Araki et al. [AFLNO16] give active security in the (3, 1)-threshold case with efficient “hash-check” authentication.

[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

slide-16
SLIDE 16

7/35

Related Work

Previous best-known protocol was due to Maurer [Mau06]: passively-secure for Q2 structures, actively-secure for Q3. Araki et al. [AFLNO16] give active security in the (3, 1)-threshold case with efficient “hash-check” authentication. Our contribution: Generalise to any Q2 access structure for any number of parties... ...and optimise the communication2.

[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

slide-17
SLIDE 17

8/35

Outline

Goal Generalising MPC Tools Performing MPC

slide-18
SLIDE 18

9/35

Access Structures

Definition by example {1, 2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {2, 3, 4} {1, 2} {1, 3} {1, 4} {2, 3} {2, 4} {3, 4} {1} {2} {3} {4} ∅ Q2: union of no two unqualified sets is {1, 2, 3, 4}

slide-19
SLIDE 19

9/35

Access Structures

Specify minimally qualified sets {1, 2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {2, 3, 4} {1, 2} {1, 3} {1, 4} {2, 3} {2, 4} {3, 4} {1} {2} {3} {4} ∅ Q2: union of no two unqualified sets is {1, 2, 3, 4}

slide-20
SLIDE 20

9/35

Access Structures

Check monotonicity {1, 2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {2, 3, 4} {1, 2} {1, 3} {1, 4} {2, 3} {2, 4} {3, 4} {1} {2} {3} {4} ∅ Q2: union of no two unqualified sets is {1, 2, 3, 4}

slide-21
SLIDE 21

9/35

Access Structures

Decide on remaining sets {1, 2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {2, 3, 4} {1, 2} {1, 3} {1, 4} {2, 3} {2, 4} {3, 4} {1} {2} {3} {4} ∅ Q2: union of no two unqualified sets is {1, 2, 3, 4}

slide-22
SLIDE 22

9/35

Access Structures

Determine maximally-unqualified sets {1, 2, 3, 4} {1, 2, 3} {1, 2, 4} {1, 3, 4} {2, 3, 4} {1, 2} {1, 3} {1, 4} {2, 3} {2, 4} {3, 4} {1} {2} {3} {4} ∅ Q2: union of no two unqualified sets is {1, 2, 3, 4}

slide-23
SLIDE 23

10/35

Replicated Secret-sharing

Starting with the access structure ∆+ = {{1}, {2, 3}, {2, 4}, {3, 4}} we obtain replicated secret sharing by taking the complements B = {{2, 3, 4}, {1, 4}, {1, 3}, {1, 2}} and sharing a secret s by letting s = s{2,3,4} + s{1,4} + s{1,3} + s{1,2} where {sB}B∈B

$

← F subject to s =

B∈B sB.

Then sB is sent to all parties whose party index is in B. Denote by [ [s] ]

slide-24
SLIDE 24

11/35

Replicated Secret-sharing

s = s{2,3,4} + s{1,4} + s{1,3} + s{1,2} Thus the parties have shares as follows: P1 : s{1,2} s{1,3} s{1,4} P2 : s{2,3,4} s{1,2} P3 : s{2,3,4} s{1,3} P4 : s{2,3,4} s{1,4}

slide-25
SLIDE 25

12/35

Linear operations for free

[ [s] ] + [ [t] ] :

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}

slide-26
SLIDE 26

13/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: – Additions – Multiplications

slide-27
SLIDE 27

13/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications

slide-28
SLIDE 28

13/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require Tool 1: Passive multiplication Tool 2: Efficient opening procedure

slide-29
SLIDE 29

14/35

Outline

Goal Generalising MPC Tools Performing MPC

slide-30
SLIDE 30

15/35

Tool 1: Passive Multiplication

Theorem [1]

If Q2, each cross term is computable by at least one party.

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

slide-31
SLIDE 31

15/35

Tool 1: Passive Multiplication

Theorem [1]

If Q2, each cross term is computable by at least one party.

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}

E.g. P2 computes

u(2) := s{2,3,4} · t{1,2} + s{1,2} · t{2,3,4} + s{1,2} · t{1,2}

slide-32
SLIDE 32

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ].

slide-33
SLIDE 33

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. E.g. P1 additively splits u(1) as u(1) = u(1)

{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}

and sends shares P1 P2 P3 P4

slide-34
SLIDE 34

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. E.g. P1 additively splits u(1) as u(1) = u(1)

{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}

and sends shares P1 P2 P3 P4 u(1)

{1,2}

slide-35
SLIDE 35

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. E.g. P1 additively splits u(1) as u(1) = u(1)

{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}

and sends shares P1 P2 P3 P4 u(1)

{1,3}

slide-36
SLIDE 36

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. E.g. P1 additively splits u(1) as u(1) = u(1)

{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}

and sends shares P1 P2 P3 P4 u(1)

{1,4}

slide-37
SLIDE 37

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. E.g. P1 additively splits u(1) as u(1) = u(1)

{1,2} + u(1) {1,3} + u(1) {1,4} + u(1) {2,3,4}

and sends shares P1 P2 P3 P4 u(1)

{2,3,4}

u(1)

{2,3,4}

u(1)

{2,3,4}

slide-38
SLIDE 38

16/35

Tool 1: Passive Multiplication – Maurer-style

Reshare each summand to get [ [u(1)] ], [ [u(2)] ], [ [u(3)] ] and [ [u(4)] ]. After all parties have reshared, sum shares locally: [ [v] ] := [ [u(1)] ] + [ [u(2)] ] + [ [u(3)] ] + [ [u(4)] ]

slide-39
SLIDE 39

17/35

Tool 1: Passive Multiplication – Araki-style

Look for some assignment of sets in B to parties3: B1 := {{1, 4}} B2 := {{1, 2}} B3 := {{1, 3}} B4 := {{2, 3, 4}} such that – every set assigned to Pi contains i – every set is assigned to some party – as many parties as possible are assigned at least one set

3Usually more sets than parties

slide-40
SLIDE 40

18/35

Tool 1: Passive Multiplication – Araki-style

Recall a PRZS: z(1) + z(2) + z(3) + z(4) = 0, use it to mask the summands, and treat resulting shares as shares of the output.

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

slide-41
SLIDE 41

18/35

Tool 1: Passive Multiplication – Araki-style

Recall a PRZS: z(1) + z(2) + z(3) + z(4) = 0, use it to mask the summands, and treat resulting shares as shares of the output.

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}

slide-42
SLIDE 42

18/35

Tool 1: Passive Multiplication – Araki-style

Recall a PRZS: z(1) + z(2) + z(3) + z(4) = 0, use it to mask the summands, and treat resulting shares as shares of the output.

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}

slide-43
SLIDE 43

18/35

Tool 1: Passive Multiplication – Araki-style

Recall a PRZS: z(1) + z(2) + z(3) + z(4) = 0, use it to mask the summands, and treat resulting shares as shares of the output.

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}

slide-44
SLIDE 44

18/35

Tool 1: Passive Multiplication – Araki-style

Recall a PRZS: z(1) + z(2) + z(3) + z(4) = 0, use it to mask the summands, and treat resulting shares as shares of the output.

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}

slide-45
SLIDE 45

19/35

Tool 1: Passive Multiplication – Araki-style

No further local computation (addition) needed: parties hold [ [v] ]. Notice – Not all parties communicate with each other; – Total number of field elements sent is less than Maurer.

slide-46
SLIDE 46

20/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require Tool 1: Passive multiplication Tool 2: Efficient opening procedure

slide-47
SLIDE 47

20/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style Tool 2: Efficient opening procedure

slide-48
SLIDE 48

21/35

Tool 2: Opening – Maurer-style

Every party broadcasts all of their shares. Active security: every share is held by at least one honest party.

P1 P2 P3 P4

slide-49
SLIDE 49

21/35

Tool 2: Opening – Maurer-style

Every party broadcasts all of their shares. Active security: every share is held by at least one honest party.

P1 P2 P3 P4

  • v{2,3,4}

v{2,3,4} v{2,3,4}

slide-50
SLIDE 50

21/35

Tool 2: Opening – Maurer-style

Every party broadcasts all of their shares. Active security: every share is held by at least one honest party.

P1 P2 P3 P4

  • v{2,3,4} = v{2,3,4}

! ! !

slide-51
SLIDE 51

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it:

P1 P2 P3 P4

slide-52
SLIDE 52

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it:

P1 P2 P3 P4 v{1,4} v{1,4} B1 = {{1, 4}}

slide-53
SLIDE 53

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it:

P1 P2 P3 P4 v{1,2} v{1,2} B2 = {{1, 2}}

slide-54
SLIDE 54

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it:

P1 P2 P3 P4 v{1,3} v{1,3} B3 = {{1, 3}}

slide-55
SLIDE 55

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it:

P1 P2 P3 P4 v{2,3,4} B4 = {{2, 3, 4}}

slide-56
SLIDE 56

22/35

Tool 2: Opening – Araki-style

Use the assignment of sets to parties: Party in charge of a share sends to all who do not hold it: Active security: Update hash function locally – all parties’ hashes should agree: P1 computes h1 := H(..., v{1,2}, v{1,3}, v{1,4}, v{2,3,4}, ...) P2 computes h2 := H(..., v{1,2}, v{1,3}, v{1,4}, v{2,3,4}, ...) P3 computes h3 := H(..., v{1,2}, v{1,3}, v{1,4}, v{2,3,4}, ...) P4 computes h4 := H(..., v{1,2}, v{1,3}, v{1,4}, v{2,3,4}, ...) Batch-check to save on communication cost.

slide-57
SLIDE 57

23/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style Tool 2: Efficient opening procedure

slide-58
SLIDE 58

23/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style ✓ Tool 2: Efficient opening procedure – using hashing

slide-59
SLIDE 59

23/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style ✓ Tool 2: Efficient opening procedure – using hashing Now to do the actual multiplication...

slide-60
SLIDE 60

24/35

Outline

Goal Generalising MPC Tools Performing MPC

slide-61
SLIDE 61

25/35

Pre-processing Model

Offline/Online paradigm using Beaver’s circuit randomisation: Multiply [ [x] ] and [ [y] ] online given a “triple” ([ [a] ], [ [b] ], [ [ab] ]) from

  • ffline

[ [xy] ] = (x + a)[ [y] ] + (y + b)[ [x] ] + [ [ab] ] − (x + a)(y + b)[ [1] ] where – (x + a) and (y + b) are opened secrets (i.e. use Tool 2: Opening on [ [x] ] + [ [a] ] and [ [y] ] + [ [b] ]) – [ [1] ] is any valid sharing of the value 1 Offline phase: generate lots of random triples

slide-62
SLIDE 62

26/35

Generating Triples: 1. Generate random values

One-time key agreement: parties in each B ∈ B agree on a key. Then for each B ∈ B, compute aB := FkB(count) to obtain [ [a] ]. a{1,2} := Fk{1,2}(count) a{1,3} := Fk{1,3}(count) a{1,4} := Fk{1,4}(count) a{2,3,4} := Fk{2,3,4}(count) All parties increment count and then compute the shares as before: bB := FkB(count); the parties obtain [ [b] ].

slide-63
SLIDE 63

27/35

Generating Triples: 2. Passively multiply

[ [ab] ] := [ [a] ] · [ [b] ] Tool 1: Passive Multiplication

slide-64
SLIDE 64

28/35

Generating Triples: 3. Sacrifice for active security

Generate two triples, ([ [a] ], [ [b] ], [ [ab] ]) and ([ [a′] ], [ [b′] ], [ [a′b′] ]) Now use ([ [a′] ], [ [b′] ], [ [a′b′] ]) to check that [ [a] ] · [ [b] ] − [ [ab] ] = 0

slide-65
SLIDE 65

29/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free – Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style ✓ Tool 2: Efficient opening procedure – using hashing

slide-66
SLIDE 66

29/35

Goal

Goal

Communication-efficient actively-secure MPC arithmetic circuit evaluation for any Q2 access structure. Arithmetic circuits: ✓ Additions: for free ✓ Multiplications: we will require ✓ Tool 1: Passive multiplication – Araki-style ✓ Tool 2: Efficient opening procedure – using hashing

slide-67
SLIDE 67

30/35

Costs

Comparison for a threshold access structure: Tool 1: Passive Multiplication Maurer-style Ours # Channels4 n · (n − 1) n · (n − t − 1) # Field elements n · n

t

  • n · (n − t − 1)

Tool 2: Opening Maurer-style Ours # Channels4 n · (n − 1)

1 2 · n · (n − 1)

# Field elements n · n

t

  • t ·

n

t

  • 4Uni-directional
slide-68
SLIDE 68

31/35

Implementation

https://github.com/KULeuven-COSIC/SCALE-MAMBA

slide-69
SLIDE 69

32/35

Thanks!

Questions?

slide-70
SLIDE 70

33/35

slide-71
SLIDE 71

34/35

|∆+| > n?

If the number of replicated shares exceeds the number of parties: e.g. (5, 2)-threshold: ∆+ := {{1, 2}, {1, 3}, {1, 4}, {1, 5}, {2, 3}, {2, 4}, {2, 5}, {3, 4}, {3, 5}, {4, 5}} gives B = {{1, 2, 3}, {1, 2, 4}, {1, 2, 5}, {1, 3, 4}, {1, 3, 5}, {1, 4, 5}, {2, 3, 4}, {2, 3, 5}, {2, 4, 5}, {3, 4, 5}} Assignment as before: e.g. B1 := {{1, 2, 3}, {1, 2, 4}} B4 := {{1, 4, 5}, {2, 4, 5}} B2 := {{2, 3, 4}, {2, 3, 5}} B5 := {{1, 2, 5}, {1, 3, 5}} B3 := {{3, 4, 5}, {1, 3, 4}}

slide-72
SLIDE 72

35/35

Optimisation using pre-shared keys

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)