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

40
Introduction New tools Security Analysis and Experiments Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame February 27, 2013 NDSS’13 Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre Dame

Upload: others

Post on 27-May-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 2: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 3: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 4: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 5: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 6: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 7: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 8: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 9: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 10: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 11: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 12: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 13: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 14: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 15: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 16: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 17: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 18: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 19: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 20: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 21: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 22: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 23: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 24: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 25: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 26: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 27: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 28: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 29: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 30: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 31: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 32: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 33: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 34: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 35: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 36: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 37: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 38: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 39: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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

Page 40: Secure Computation on Floating Point Numbers€¦ · Secure Computation on Floating Point Numbers Mehrdad Aliasgari, Marina Blanton, Yihua Zhang, and Aaron Steele University of Notre

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