secure computation on floating point numbers€¦ · secure computation on floating point numbers...

Post on 27-May-2020

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction New tools Security Analysis and Experiments

Secure Computation on Floating Point Numbers

Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and AaronSteele

University of Notre Dame

February 27, 2013

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Secure Multiparty Computation

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Secure Multiparty Computation

SMC

A number of parties (n > 2) wish to jointly and securely computea known function (F ) on their private inputs.

• Privacy-Preserving Computation

• Secure Outsourcing / Cloud Computation

• Secure Collaborative Computation

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Secure Multiparty Computation

SMC-Cont.

Recent progress has made it fast.

• Generally, any computable function can be evaluated securely(e.g., as a Boolean or arithmetic circuit)

• Optimization of existing techniques

• Mainly integer domain

• Little attempt on real numbers

• NO Floating point support in SMC

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Secure Multiparty Computation

SMC-Cont.

Recent progress has made it fast.

• Generally, any computable function can be evaluated securely(e.g., as a Boolean or arithmetic circuit)

• Optimization of existing techniques

• Mainly integer domain

• Little attempt on real numbers

• NO Floating point support in SMC

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Secure Multiparty Computation

SMC-Cont.

Recent progress has made it fast.

• Generally, any computable function can be evaluated securely(e.g., as a Boolean or arithmetic circuit)

• Optimization of existing techniques

• Mainly integer domain

• Little attempt on real numbers

• NO Floating point support in SMC

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Framework

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Framework

Secret Sharing

Linear Secret Sharing scheme (such as Shamir secret sharingscheme 1)

• P1 · · ·Pn parties engage in a (n, t)-secret sharing scheme(t < n/2)

• [x ]

• Linear combination of secrets can be computed locally

• Multiplication of two secrets requires one round of aninteractive operation

• Performance Metric: # of interactive operations along with #of sequential interactions (rounds)

1A. Shamir. How to share a secret. Communications of the ACM, 1979NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Building Blocks

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Building Blocks

• [b]← LT ([x ], [y ], `) Catrina and de Hoogh’s takes 4 roundsand 4`− 2 interactive operations.

• [y ]← Trunc([x ], `,m) 4 rounds and 4m + 1 interactions

• [xm−1] · · · [x0]← BitDec([x ], `,m) log m rounds and m log(m)interactions

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

FL Representationu = (1− z)(1− 2s)v2p

• Normalized Value v ∈ [2`−1, 2`)

• Power p ∈ (−2k−1, 2k−1)

• Sign indicator s = {0, 1}

• Zero indicator z = {0, 1}• u = 0⇔ z = 1, v = p = 0

Error Detection:

• Invalid operation

• Division by zero

• Overflow and Underflow

• Inexact

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

FL Representationu = (1− z)(1− 2s)v2p

• Normalized Value v ∈ [2`−1, 2`)

• Power p ∈ (−2k−1, 2k−1)

• Sign indicator s = {0, 1}

• Zero indicator z = {0, 1}• u = 0⇔ z = 1, v = p = 0

Error Detection:

• Invalid operation

• Division by zero

• Overflow and Underflow

• Inexact

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

FL Representationu = (1− z)(1− 2s)v2p

• Normalized Value v ∈ [2`−1, 2`)

• Power p ∈ (−2k−1, 2k−1)

• Sign indicator s = {0, 1}

• Zero indicator z = {0, 1}• u = 0⇔ z = 1, v = p = 0

Error Detection:

• Invalid operation

• Division by zero

• Overflow and Underflow

• InexactNDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

New Building Blocks

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

New Building Blocks

• [y ]← Trunc([a], `, [m])• O(`) invocations and O(log log `) rounds

• [a0], . . ., [a`−1]← B2U([a], `)• O(`) invocations and O(log log `) rounds

• [2a]← Pow2([a], `)• O((log `)(log log `)) invocations and O(log log `) rounds

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

Basic FL-1

• 〈[v ], [p], [z ], [s]〉 ← FLMul(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(`) invocations and O(1) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLDiv(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `) invocations and O(log `) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLAdd(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `+ k) invocations and O(log `) rounds

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

Basic FL-1

• 〈[v ], [p], [z ], [s]〉 ← FLMul(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(`) invocations and O(1) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLDiv(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `) invocations and O(log `) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLAdd(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `+ k) invocations and O(log `) rounds

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

Basic FL-1

• 〈[v ], [p], [z ], [s]〉 ← FLMul(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(`) invocations and O(1) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLDiv(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `) invocations and O(log `) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLAdd(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2],[s2]〉)

• O(` log `+ k) invocations and O(log `) rounds

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

Basic FL-2

• [b]← FLLT(〈[v1], [p1], [z1], [s1]〉, 〈[v2], [p2], [z2], [s2]〉)• O(`+ k) invocations and O(1) rounds

• 〈[v ], [p], [z ], [s]〉 ← FLRound(〈[v1], [p1], [z1], [s1]〉,mode)• mode = 0→ floor and mode = 1→ ceiling

• O(`+ k) invocations and O(log log `) rounds

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Basic FL Operations

FLRound

〈[v ], [p], [z ], [s]〉 ← FLRound(〈[v1], [p1], [z1], [s1]〉,mode)

• [a]← LTZ([p1], k);• [b]← LT([p1],−`+ 1, k)• 〈[v2], [2−p1 ]〉 ← Mod2m([v1], `,−[a](1− [b])[p1]);• [c]← EQZ([v2], `);• [v ]← [v1]− [v2] + (1− [c])[2−p1 ](XOR(mode, [s1]));• [d ]← EQ([v ], 2`, `+ 1);• [v ]← [d ]2`−1 + (1− [d ])[v ];• [v ]← [a]((1− [b])[v ] + [b](mode− [s1])) + (1− [a])[v1];• [s]← (1− [b]mode)[s1];• [z ]← OR(EQZ([v ], `), [z1]);• [v ]← [v ](1− [z ]);• [p]← ([p1] + [d ][a](1− [b]))(1− [z ]);• return 〈[v ], [p], [z ], [s]〉;NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Complex FL Operations

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Complex FL Operations

• 〈[v ], [p], [z ], [s]〉 ← FLSqrt(〈[v1], [p1], [z1], [s1]〉)

• 〈[v ], [p], [z ], [s]〉 ← FLExp2(〈[v1], [p1], [z1], [s1]〉)

• 〈[v ], [p], [z ], [s]〉 ← FLLog2(〈[v1], [p1], [z1], [s1]〉)

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Type Conversion

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Type Conversion

• Integer: γ bits

• Fixed point: u = u2−f

• u: signed γ-bit integer

• Floating Point: u = (1− 2s)(1− z)v2p

• v : normalized `-bit value and• p: signed k-bit exponent• k > max(dlog(`+ f )e , dlog(γ)e)

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Type Conversion

Conversion-cont.

• 〈[v ], [p], [z ], [s]〉 ← Int2FL([a], γ, `)

• [g ]← FL2Int(〈[v ], [p], [z ], [s]〉, `, k , γ)

• 〈[v ], [p], [z ], [s]〉 ← FP2FL([g ], γ, f , `, k)

• [g ]← FL2FP(〈[v ], [p], [z ], [s]〉, `, k, γ, f )

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Type Conversion

Conversion-cont.

• 〈[v ], [p], [z ], [s]〉 ← Int2FL([a], γ, `)

• [g ]← FL2Int(〈[v ], [p], [z ], [s]〉, `, k , γ)

• 〈[v ], [p], [z ], [s]〉 ← FP2FL([g ], γ, f , `, k)

• [g ]← FL2FP(〈[v ], [p], [z ], [s]〉, `, k, γ, f )

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Type Conversion

Conversion-cont.

• 〈[v ], [p], [z ], [s]〉 ← Int2FL([a], γ, `)

• [g ]← FL2Int(〈[v ], [p], [z ], [s]〉, `, k , γ)

• 〈[v ], [p], [z ], [s]〉 ← FP2FL([g ], γ, f , `, k)

• [g ]← FL2FP(〈[v ], [p], [z ], [s]〉, `, k, γ, f )

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Outline

1 IntroductionSecure Multiparty ComputationFrameworkBuilding Blocks

2 New toolsNew Building BlocksBasic FL OperationsComplex FL OperationsType Conversion

3 Security Analysis and Experiments

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Security

• Cannetti’s composition theorem• R. Canetti. ”Security and composition of multiparty

cryptographic protocols.” Journal of Cryptology, 2000.

• Secure in the malicious adversaries model

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Experiments

• Integer: γ = 64• |q| > 2γ + κ+ 1 = 177

• Fixed point: γ = 64 and f = 32 (precision : 2−32)• |q| > γ + 3f + κ = 208

• Floating point: ` = 32 and k = 9 (precision : 2−256)• |q| > 2`+ κ+ 1 = 113

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Experiments Cont.

• C/C++ using the GMP library

• (3, 1)-Shamir secret sharing

• Boost libraries for communication and OpenSSL for securingthe communication

• 2.2 GHz Linux machines on a 1Gbps LAN

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Addition

● ● ● ●

101 103 10510−4

10−2

100

101

Operations

Tim

e / O

pera

tion

(ms)

● IntegerFixed PointFloating Point

Figure: Test

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Multiplication

●● ● ●

101 103 10510−2

10−1

100

101

Operations

Tim

e / O

pera

tion

(ms)

● IntegerFixed PointFloating Point

Figure: Test

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Division

● ● ● ●

101 103 1050

20

40

60

80

Operations

Tim

e / O

pera

tion

(ms)

● IntegerFixed PointFloating Point

Figure: Test

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Comparison

●● ● ●

101 103 1050

1

2

3

4

5

6

Operations

Tim

e / O

pera

tion

(ms)

● IntegerFixed PointFloating Point

Figure: Test

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Introduction New tools Security Analysis and Experiments

Exp & Log

●●

● ● ●

101 103 1050

40

80

120

160

Operations

Tim

e / O

pera

tion

(ms) ● Logarithm

Exponentiation

Figure: Test

NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

top related