Secure Strassen-Winograd Matrix Multiplication with MapReduce Radu - - PowerPoint PPT Presentation

secure strassen winograd matrix multiplication with
SMART_READER_LITE
LIVE PREVIEW

Secure Strassen-Winograd Matrix Multiplication with MapReduce Radu - - PowerPoint PPT Presentation

Secure Strassen-Winograd Matrix Multiplication with MapReduce Radu Ciucanu 1 Matthieu Giraud 2 Pascal Lafourcade 2 Lihua Ye 3 1 LIFO, INSA Centre Val de Loire Universit e dOrl eans 2 LIMOS University Clermont Auvergne, France 3 School of


slide-1
SLIDE 1

Secure Strassen-Winograd Matrix Multiplication with MapReduce

Radu Ciucanu1 Matthieu Giraud2 Pascal Lafourcade2 Lihua Ye3

1LIFO, INSA Centre Val de Loire

Universit´ e d’Orl´ eans

2LIMOS

University Clermont Auvergne, France

3School of Computer Science and Technology

Harbin Institute of Technology, China

26 July 2019 @ SECRYPT, Prague

slide-2
SLIDE 2

Matrix Multiplication

Applications

PageRank algorithm Shortest path problem Genetic

slide-3
SLIDE 3

Matrix Multiplication

Strassen-Winograd (SW) Algorithm1

Volker Strassen (1936−) Shmuel Winograd (1936−)

  • Recursive algorithm
  • Faster than the standard algorithm: O(n2.81) vs O(n3)
  • 1V. Strassen. Gaussian Elimination is not Optimal. In Numerische

Mathematik, Vol. 13, 1969.

slide-4
SLIDE 4

Contributions

1 SW matrix multiplication with MapReduce 2 Secure SW matrix multiplication with MapReduce 3 Comparison with CRSP MapReduce protocols2

  • 2X. Bultel, R. Ciucanu, M. Giraud, and P. Lafourcade. Secure Matrix

Multiplication with MapReduce. In the proceedings of ARES 2017.

slide-5
SLIDE 5

Outline

1 MapReduce Paradigm 2 Standard and SW Matrix Multiplication Algorithms 3 SW Matrix Multiplication with MapReduce 4 Security Model and Cryptographic Tools 5 Secure SW Matrix Multiplication Protocol 6 Experimental Results 7 Conclusion

slide-6
SLIDE 6

MapReduce3

MapReduce Environment

Take care of:

  • Partitioning input data
  • Scheduling program execution on a set of machines
  • Handling machine failures

Programmer

Specify:

  • Map and Reduce functions
  • Input files
  • 3J. Dean and S. Ghemawat. MapReduce: Simplified Data Processing on

Large Clusters. In the proceedings of OSDI 2004.

slide-7
SLIDE 7

MapReduce Example

Application: Make pure fruit juice

Input 1 Map 1 Input 2 Map 2 Input 3 Map 3 Reduce 1 Reduce 2 Output 1 Output 2 Master Controller

slide-8
SLIDE 8

MapReduce in 3 Steps

  • 1. Map tasks

Input: ID of chunk Output: key-value pairs

  • 2. Master Controller
  • Key-value pairs aggregated and sorted by key
  • Pairs with same key sent to the same Reduce task
  • 3. Reduce tasks

Input: One key Output: Combine values associated to the key

slide-9
SLIDE 9

Standard Algorithm

Multiply square matrices:

A11 A12 A21 A22

  • and

B11 B12 B21 B22

  • 1 8 multiplications

S1 = A11 × B11 S2 = A12 × B21 S3 = A21 × B11 S4 = A22 × B21 T1 = A11 × B12 T2 = A12 × B22 T3 = A21 × B12 T4 = A22 × B22

2 4 additions

U1 = S1 + S2 U2 = T1 + T2 U3 = S3 + S4 U4 = T3 + T4

3 Result is

U1 U2 U3 U4

slide-10
SLIDE 10

Strassen-Winograd Algorithm

Multiply square 2-power matrices:

A11 A12 A21 A22

  • and

B11 B12 B21 B22

  • 1 8 additions

S1 = A21 + A22 S2 = S1 − A11 S3 = A11 − A21 S4 = A12 − S2 T1 = B12 − B11 T2 = B22 − T1 T3 = B22 − B12 T4 = T2 − B21

2 7 recursive multiplications

R1 = A11 × B11 R2 = A12 × B21 R3 = S4 × B22 R4 = A22 × T4 R5 = S1 × T1 R6 = S2 × T2 R7 = S3 × T3

3 7 final additions

U1 = R1 + R2 U2 = R1 + R6 U3 = U2 + R7 U4 = U2 + R5 U5 = U4 + R3 U6 = U3 − R4 U7 = U3 + R5

4 Result is

U1 U5 U6 U7

slide-11
SLIDE 11

Standard vs Strassen-Winograd

For matrices of order n = 2k # additions # multiplications Standard n3 − n2 8k SW n3 − n2 2 +

k

  • i=1

7i4k−i 7k

slide-12
SLIDE 12

Static Padding

Add rows and columns to obtain matrices of 2-power order

2k−1 < n < 2k 2k − n 2k−1 < n < 2k 2k − n           a1,1 · · · a1,n · · · . . . ... . . . . . . ... . . . an,1 · · · an,n · · · · · · · · · . . . ... . . . . . . ... . . . · · · · · ·                     b1,1 · · · b1,n · · · . . . ... . . . . . . ... . . . bn,1 · · · bn,n · · · · · · · · · . . . ... . . . . . . ... . . . · · · · · ·          

slide-13
SLIDE 13

Dynamic Padding

Add one row and one column when order is odd

n = 2k − 1 1 n = 2k − 1 1      a1,1 · · · a1,n . . . ... . . . . . . an,1 · · · an,n · · ·           b1,1 · · · b1,n . . . ... . . . . . . bn,1 · · · bn,n · · ·     

slide-14
SLIDE 14

Dynamic Peeling

“Remove” one row and one column when order is odd

n − 1 = 2k 1 n − 1 = 2k 1      a1,1 · · · a1,n−1 a1,n . . . ... . . . . . . an−1,1 · · · an−1,n−1 an−1,n−1 an,1 · · · an,n−1 an,n           b1,1 · · · b1,n−1 b1,n . . . ... . . . . . . bn−1,1 · · · bn−1,n−1 bn−1,n−1 bn,1 · · · bn,n−1 bn,n     

Block matrix multiplication

A11 A12 A21 A22

  • ×

B11 B12 B21 B22

  • =

A11 × B11 + A12 × B21 A11 × B12 + A12 × B22 A21 × B11 + A22 × B21 A21 × B12 + A22 × B22

slide-15
SLIDE 15

Strassen-Winograd with MapReduce

Execution

  • 2 phases: deconstruction and combination
  • Each phase is run (at most) F = log2(d) times

Deconstruction phase

  • Split matrices until the desired dimension (8 additions)
  • Compute matrix multiplications

Combination phase

  • Combine results of multiplications (7 additions)
slide-16
SLIDE 16

Strassen-Winograd with MapReduce

Preprocessing

  • Run on both matrices A, B ∈ Rd×d
  • Each ai,j ∈ A gives key-value pair (0, (A, i, j, ai,j, d))
  • Each bj,k ∈ B gives key-value pair (0, (B, j, k, bj,k, d))

Reduce function (Deconstruction)

  • Update value of key according to the recursive multiplication
  • Perform additions and multiplications

Reduce function (Combination)

  • Update value of key to build intermediate matrices
  • Perform additions and combine matrices
slide-17
SLIDE 17

SW Matrix Multiplication with MapReduce

Value of key Dimension Initial matrices

x

16

x

01

x

02

x

03

x

04

x

05

x

06

x

07 8

  • 04

4

  • 8

. . . . . .

  • 16

Result

Deconstruction phase Combination phase

slide-18
SLIDE 18

Security Model

Cloud is honest-but-curious

Data Owner

Matrices

Cloud

MapReduce computations

Result

User Without security, Cloud learns:

  • Content of both matrices
  • Result
slide-19
SLIDE 19

Cryptographic Tools

Additive homomorphic scheme

  • E(pk, x1) ⊗ E(pk, x2) = E(pk, x1 + x2)
  • E(pk, x1) ⊘ E(pk, x2) = E(pk, x1 − x2)
  • Example: Paillier, Okamoto-Uchiyama cryptosystems. . .

Interactive homomorphic multiplication4

How to obtain E(pk, m1m2) from c1 = E(pk, m1) and c2 = E(pk, m2)?

α1 = c1 ⊗ E(pk, r1), α2 = c2 ⊗ E(pk, r2) β1 = D(sk, α1), β2 = D(sk, α2)

α1,α2

← − − − − − c = E(pk, β1 × β2)

c

− → E(pk, m1m2) = c ⊘ (E(pk, r1r2)cr2

1 cr1 2 )

4Cramer et al. Multiparty Computation from Threshold Homomorphic

  • Encryption. In the proceedings of EUROCRYPT 2001.
slide-20
SLIDE 20

Secure SW Matrix Multiplication with MapReduce

8 additions

Use additive homomorphic properties A ⊗ B or A ⊘ B

7 recursive multiplications

  • Use interactive homomorphic multiplication
  • Only applied during the last round of deconstruction phase

7 additions

Use additive homomorphic properties A ⊗ B or A ⊘ B

slide-21
SLIDE 21

Experimental Results

Settings

Software

  • 3.2.0 / Standalone mode / Streaming
  • 16.04 LTS
  • Map and Reduce functions in

Hardware

  • 4 CPU @ 2.4 GHz
  • 80 Gb of disk
  • 8 Gb of RAM
slide-22
SLIDE 22

Experimental Results

240 270 300 330 360 390 420 450 20 40 60 80 100 120 Order CPU time (in seconds)

  • Dyn. Pad.
  • Dyn. Peel.
  • Stat. Pad.

Standard

slide-23
SLIDE 23

Experimental Results

90 120 150 180 210 240 270 300 200 400 600 Order CPU time (in seconds)

  • Dyn. Pad.
  • Dyn. Peel.
  • Stat. Pad.

CRSP

slide-24
SLIDE 24

Conclusion

Conclusion

  • Design MapReduce approach of SW algorithm
  • Design a secure approach of SW algorithm with MapReduce
  • Comparison with state-of-the-art MapReduce protocols

Future works

  • Apache Spark experiment
  • Malicious cloud
  • Collusion resistance
slide-25
SLIDE 25

Thank you for your attention

Any questions? matthieu.giraud@uca.fr

Credit: Pascal Lafourcade