Standard Network Flow problems with Secure Mul8party - - PowerPoint PPT Presentation

standard network flow problems with secure mul8party
SMART_READER_LITE
LIVE PREVIEW

Standard Network Flow problems with Secure Mul8party - - PowerPoint PPT Presentation

Standard Network Flow problems with Secure Mul8party Computa8on Abdelrahaman Aly C.O.R.E. - Universit catholique de Louvain 1 Outlines The Problem


slide-1
SLIDE 1

Standard ¡Network ¡Flow ¡problems ¡ with ¡Secure ¡Mul8party ¡Computa8on ¡

Abdelrahaman ¡Aly ¡ C.O.R.E. ¡-­‑ ¡Université ¡catholique ¡de ¡Louvain ¡

1 ¡

slide-2
SLIDE 2

The ¡Problem ¡

Example ¡ Applicability ¡

Results ¡

Goals ¡ Environment ¡ Minimum-­‑cost ¡flow ¡ Minimum ¡mean ¡cycle ¡ Secure ¡Solu8ons ¡

Computa8onal ¡ Experimenta8on ¡

Environment ¡ Phases ¡ Execu8on ¡Times ¡ Ra8o ¡Analysis ¡

Future ¡Work ¡

Some ¡alterna8ves.. ¡

Outlines ¡

2 ¡

slide-3
SLIDE 3

WAN ¡Network ¡ Paribas ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

3 ¡

slide-4
SLIDE 4

WAN ¡Network ¡ Paribas ¡ ING ¡ CBS ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

4 ¡

slide-5
SLIDE 5

WAN ¡Network ¡ Paribas ¡ ING ¡ CBS ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

5 ¡

slide-6
SLIDE 6

WAN ¡Network ¡ Paribas ¡ ING ¡ CBS ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

6 ¡

slide-7
SLIDE 7

WAN ¡Network ¡ Paribas ¡ ING ¡ CBS ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

7 ¡

slide-8
SLIDE 8

Compute ¡New ¡ Heuris8cs ¡/ ¡ Execute ¡ ¡ Network ¡Flow ¡ Algorithms ¡to ¡ select ¡routes ¡ Latency ¡ Traffic ¡Volumes ¡ Distance ¡

Rou8ng ¡ Algorithms ¡

Rou8ng ¡Table ¡

Problem ¡

8 ¡

slide-9
SLIDE 9

WAN ¡Network ¡ Paribas ¡ ING ¡ CBS ¡ EU ¡Agency ¡ Dexia ¡

Problem ¡

9 ¡

slide-10
SLIDE 10

Problem ¡

Example ¡ What ¡about ¡the ¡Maximum ¡

amount ¡of ¡traffic ¡we ¡can ¡ have ¡at ¡a ¡minimum ¡latency ¡in ¡ a ¡WAN.. ¡& ¡nobody ¡wants ¡to ¡ disclose ¡how ¡much ¡traffic ¡ they ¡tolerates ¡nor ¡the ¡latency ¡

  • f ¡their ¡systems? ¡ ¡

10 ¡

slide-11
SLIDE 11

Problem ¡

Possible ¡Security ¡ Breaches! ¡ Leaked ¡ Informa8on! ¡ ¡ What ¡if ¡we ¡get ¡to ¡the ¡ same ¡result ¡without ¡ revealing ¡any ¡ compromising ¡ informa8on? ¡

11 ¡

slide-12
SLIDE 12

Problem ¡

Benchmarking ¡ Networking ¡ Supply ¡Chain ¡ Problems ¡

12 ¡

slide-13
SLIDE 13

Results ¡

Minimum ¡ Mean ¡Cycle ¡ Minimum-­‑ cost ¡Flow ¡

13 ¡

slide-14
SLIDE 14

Results ¡-­‑ Environment ¡

  • VIFF ¡Implementa8on ¡
  • SEPIA ¡Implementa8on ¡
  • FairplayMP ¡Implementa8on ¡
  • Sharemind ¡Implementa8on ¡

SMC ¡

  • Secure ¡Addi8ons ¡
  • Secure ¡Mul8plica8ons ¡
  • Secure ¡Comparisons ¡

Arithme8c ¡ Black ¡Box ¡ ABB ¡

  • Limited ¡CPU ¡Power ¡
  • Limited ¡Memory ¡Access ¡ ¡

Limited ¡ Computer ¡ Power ¡

14 ¡

slide-15
SLIDE 15

Behavior ¡ considered ¡

Number ¡

  • f ¡

Players: ¡

Communica8ons ¡ Linear ¡Behavior ¡ Computa8ons ¡

Polynomial ¡ Behavior ¡

Comparisons ¡are ¡200x ¡more ¡expensive ¡in ¡ terms ¡of ¡performance ¡than ¡Mul8plica8ons ¡

15 ¡

We ¡have ¡to ¡minimize ¡the ¡use ¡of ¡comparisons! ¡

slide-16
SLIDE 16

Original ¡Problem ¡

16 ¡

Minimum ¡Flow ¡

min c(v,w)• f (v,w)

c(v,w)∈E

s.t. f (v,w) ≤ u(v,w)∀(v,w) ∈ E f (v,w) = − f (w,v)∀(v,w) ∈ E f (v,w) = 0 ∀w ∈ V

v∈E(w)

The ¡Problem: ¡ ¡ ¡ ¡

  • Directed ¡graph ¡G ¡=(V,E) ¡
  • V ¡contains ¡n ¡ver8ces ¡and ¡E ¡m ¡arcs ¡
  • G ¡is ¡symmetric: ¡ ¡
  • Integer ¡capaci8es: ¡ ¡
  • Integer ¡costs: ¡ ¡ ¡
  • Costs ¡are ¡an8symmetric: ¡ ¡

¡ ¡

(v,w) ∈ E iff (w,v) ∈ E c(v,w) = −c(w,v)∀(v,w) ∈ E u(v,w)∀(v,w) ∈ E

Input: ¡ ¡ ¡

slide-17
SLIDE 17

Original ¡Problem ¡

17 ¡

Minimum-­‑cost ¡Flow ¡

Generali8es: ¡Minimum-­‑cost ¡Flow ¡and ¡

Minimum ¡circula8on ¡cost ¡are ¡ equivalent ¡problems ¡

Known ¡ Algorithms ¡ Linear ¡Programing ¡

Cycle ¡canceling ¡ Minimum ¡mean ¡cycle ¡canceling ¡

slide-18
SLIDE 18

Original ¡Algorithm ¡

18 ¡

Minimum-­‑cost ¡Flow ¡

Mean ¡Cycle-­‑Canceling ¡Algorithm: ¡

Begin: ¡ ¡establish ¡a ¡feasible ¡flow ¡in ¡the ¡network; ¡ ¡While ¡ ¡G(X) ¡contains ¡a ¡nega8ve ¡cycle ¡W ¡do: ¡ ¡Begin: ¡ ¡ ¡iden8fy ¡a ¡nega8ve ¡cycle ¡W; ¡ ¡ ¡ ¡ ¡augment ¡δ ¡units ¡of ¡flow ¡in ¡the ¡cycle ¡W ¡and ¡update ¡G(x); ¡ ¡End; ¡ End; ¡

¡ ¡ ¡

δ := min{r

ij :(i, j) ∈ W};

DefiniFons: ¡ A ¡circula8on ¡is ¡minimum-­‑cost ¡if ¡and ¡only ¡if ¡there ¡are ¡no ¡nega8ve ¡ residual ¡cost ¡

slide-19
SLIDE 19

Original ¡Problem ¡

19 ¡

Minimum ¡Mean ¡Cycle ¡

Input: ¡

  • Directed ¡graph ¡G ¡=(V,E) ¡
  • V ¡contains ¡n ¡ver8ces ¡and ¡E ¡m ¡arcs ¡
  • G ¡is ¡strongly ¡connected ¡
  • Integer ¡capaci8es: ¡

¡ ¡

u(v,w)∀(v,w) ∈ E

DefiniFons: ¡ ¡ m(σ): ¡Is ¡the ¡mean ¡of ¡any ¡ sequence ¡of ¡edges. ¡ C: ¡is ¡the ¡set ¡of ¡all ¡directed ¡ cycles ¡in ¡G. ¡ If ¡used ¡for ¡the ¡Min-­‑cost ¡Flow ¡ problem, ¡it ¡starts ¡in ¡the ¡source ¡

Problem: ¡

λ* = minC m(C)

slide-20
SLIDE 20

Original ¡Solu8on ¡

20 ¡

Minimum ¡Mean ¡Cycle ¡

d k( j) = min{i:(i, j)∈A}{d k−1 +cij}

Defini8ons: ¡ ¡

  • k: ¡denotes ¡the ¡length ¡of ¡a ¡given ¡path ¡(from ¡0 ¡to ¡n) ¡

¡ ¡

  • The ¡ ¡func8on ¡d ¡is ¡defined ¡as ¡follows: ¡

λ*( j) = min j∈N max0≤k≤n−1[d n( j)− d k( j) n − k ]

Algorithm: ¡

slide-21
SLIDE 21

21 ¡

slide-22
SLIDE 22

22 ¡

slide-23
SLIDE 23

23 ¡

slide-24
SLIDE 24

24 ¡

slide-25
SLIDE 25

Results ¡

25 ¡

MMC ¡ Original ¡polynomial ¡bound: ¡ Smc ¡Comp. ¡Polynomial ¡bound: ¡ Smc ¡Mult. ¡Polynomial ¡bound: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ MMCC ¡ Original ¡polynomial ¡bound: ¡ Smc ¡Comp. ¡Polynomial ¡bound: ¡ Smc ¡Mult. ¡Polynomial ¡bound: ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

O(n3) O(n3) O(n5) O(n8) O(n8) O(n10)

The ¡bounds ¡ ¡are ¡given ¡considering ¡complete ¡graphs ¡only ¡

slide-26
SLIDE 26

Performance ¡ Evalua8on ¡

Python ¡ VIFF ¡ ¡ Plamorm ¡

¡ Only ¡3 ¡and ¡4 ¡Par8es ¡

1 ¡ Machine: ¡

Intel ¡Xeon ¡ ¡16 ¡Cores ¡ (2.9 ¡Ghz) ¡OS ¡X ¡ 42 ¡GB ¡RAM ¡

4 ¡Nodes ¡ to ¡10 ¡ nodes ¡

s ¡

Complete ¡ Graphs ¡ Analyzed ¡

26 ¡

slide-27
SLIDE 27

Performance ¡ Evalua8on ¡

seconds ¡

Performance ¡Analysis ¡MMCC ¡per ¡phases ¡

Vertex ¡ Edges ¡ 3 ¡Players ¡ 4 ¡Players ¡ 4 ¡ 12 ¡ 17s ¡ 19s ¡

nodes ¡

27 ¡

0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 8 ¡ 9 ¡ 10 ¡ 3 ¡players ¡ 4 ¡players ¡

slide-28
SLIDE 28

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ 3.5 ¡ 4 ¡ 4.5 ¡ 3 ¡ 5 ¡ 7 ¡ 9 ¡ 11 ¡ 13 ¡ 15 ¡

Performance ¡ Evalua8on ¡

nodes ¡ seconds ¡

Performance ¡Analysis ¡MMCC ¡

Vertex ¡ Edges ¡ Phases ¡ Total ¡ 4 ¡ 12 ¡ 128 ¡ 0.020s ¡

nodes ¡

Vertex ¡ Edges ¡ 3 ¡Players ¡ 4 ¡Players ¡ 4 ¡ 12 ¡ 19618 ¡ 23037 ¡

28 ¡

seconds ¡

Clean ¡ImplementaFon ¡ VIFF ¡ImplementaFon ¡

0 ¡ 5000000 ¡ 10000000 ¡ 15000000 ¡ 20000000 ¡ 25000000 ¡ 30000000 ¡ 35000000 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 8 ¡ 9 ¡ 10 ¡ 3 ¡players ¡ 4 ¡players ¡

slide-29
SLIDE 29

0 ¡ 5E+09 ¡ 1E+10 ¡ 1.5E+10 ¡ 2E+10 ¡ 2.5E+10 ¡ 3E+10 ¡ 3.5E+10 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 8 ¡ 9 ¡ 10 ¡ 3 ¡players ¡ 4 ¡players ¡ 0 ¡ 10000000 ¡ 20000000 ¡ 30000000 ¡ 40000000 ¡ 50000000 ¡ 60000000 ¡ 70000000 ¡ 3 ¡ 4 ¡ 5 ¡ 6 ¡ 7 ¡ 8 ¡ 9 ¡ 10 ¡ 3 ¡players ¡ 4 ¡players ¡

Performance ¡ Evalua8on ¡

nodes ¡ ra8o ¡

Ra8o ¡Analysis ¡-­‑ ¡Minimum ¡Mean ¡Cycle ¡Canceling ¡

ra8o ¡ nodes ¡

Vertex ¡ Edges ¡ 3 ¡Players ¡ 4 ¡Players ¡ 4 ¡ 12 ¡ 15069475 ¡ 17696250 ¡

29 ¡

Clean ¡ImplementaFon ¡ VIFF ¡ImplementaFon ¡

Vertex ¡ Edges ¡ 3 ¡Players ¡ 4 ¡Players ¡ 4 ¡ 12 ¡ 114643 ¡ 134626 ¡

slide-30
SLIDE 30

Future ¡Work ¡

Improve ¡the ¡Algorithms ¡ ¡ (Using ¡Top’s ¡Priority ¡Queue ¡ for ¡instance) ¡ Improve ¡SMC ¡ implementa8ons ¡ performance ¡migra8ng ¡to ¡

  • ther ¡plamorms ¡

Migrate ¡Current ¡subrou8nes ¡ implementa8ons ¡to ¡ ¡ applica8ons ¡like ¡the ¡ones ¡ presented ¡(i.e. ¡any ¡rou8ng ¡ algorithm) ¡

30 ¡

slide-31
SLIDE 31

Thank ¡You ¡ ¡So ¡Much! ¡

Ques8ons ¡and ¡ Feedback? ¡

31 ¡

htp://xkcd.com/329/ ¡ E: ¡abdelrahaman.aly@uclouvain.be ¡ T: ¡@abdito_8 ¡ W: ¡uclouvain.be/abdelrahaman.aly ¡