Efficient Implementation of the Orlandi Protocol . Jakobsen 1 , Marc - - PowerPoint PPT Presentation

efficient implementation of the orlandi protocol
SMART_READER_LITE
LIVE PREVIEW

Efficient Implementation of the Orlandi Protocol . Jakobsen 1 , Marc - - PowerPoint PPT Presentation

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Efficient Implementation of the Orlandi Protocol . Jakobsen 1 , Marc X. Makkes 2 , and Janus Dam Thomas P Nielsen 1 1 The Alexandra


slide-1
SLIDE 1

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary

Efficient Implementation of the Orlandi Protocol

Thomas P . Jakobsen1, Marc X. Makkes2, and Janus Dam Nielsen1

1The Alexandra Institute 2Eindhoven University of Technology

Applied Cryptography and Network Security, 2010

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-2
SLIDE 2

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-3
SLIDE 3

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is Secure Multiparty Computation

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-4
SLIDE 4

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is Secure Multiparty Computation

Secure Multiparty Computation (SMC)

In Secure Multiparty Computation (SMC) we have: a number of parties P1, . . . , Pn each having input xi the parties wish to jointly compute a function y = f(x1, . . . , xn) s.t. xi is not revealed to others than Pi and y is correct

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-5
SLIDE 5

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is Secure Multiparty Computation

The Millionaires Example

Two millionaires, want to know who is richer, without revealing the precise amount of their wealth. Andrew C. Yao, “Protocols for Secure Computations” (1982).

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-6
SLIDE 6

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is Secure Multiparty Computation

What problems does SMC solve?

SMC enables joint computation on confidential information: information can be a resource of vital importance and considerable economic value confidentiality of information can be crucial significant value can often be obtained by combining confidential information

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-7
SLIDE 7

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is Secure Multiparty Computation

Real-world Examples

Auctions Benchmarking (e.g. total CO2 emission from all cargo ships) Online games (e.g. poker - only I should learn the value of my cards) Procurements Data mining

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-8
SLIDE 8

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is the Orlandi Protocol

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-9
SLIDE 9

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is the Orlandi Protocol

High level Description

Protocol for secure multiparty computation: let s = n

i=1 si mod p where si ∈ Zp then a share is (si, C)

allows +, −, and ∗ addition and subtraction are straight forward in an additive scheme multiplication is separated into a preprocessing and an

  • nline part

preprocessing creates a set of triples (a, b, c) s.t. a ∗ b = c

  • nline part does actual multiplication and one multiplication

consumes one triple

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-10
SLIDE 10

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is the Orlandi Protocol

Random Triple Generation

Random Triple Generation takes the security parameter s and a number M as input and generates M triples (a, b, c) s.t. a ∗ b = c: generate a set of triples D:

D = ∅ For i = 1, . . . , κM do: D = D ∪ TripleTest() (where κ > 1 is an overhead factor depending on s)

compute a random subset T ⊂ D and check that they are correct use the rest to “distill” M triples

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-11
SLIDE 11

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is the Orlandi Protocol

Triple Test and Triple Generation

Triple Test

generates one triple a, b, c uses two triples generated by Triple Generation use one to check the other to reduce the probability for

  • verflow

Triple Generation:

generates one triple a, b, c uses the homomorphic properties of the Paillier cryptosystem encrypted computation could overflow require that N >> p

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-12
SLIDE 12

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary What is the Orlandi Protocol

Online Multiplication

Given a triple (a, b, c), multiplication [x] ∗ [y] is defined as:

1

d = Open([x] − [a])

2

e = Open([y] − [b])

3

[z] = e[x] + d[y] − de + [c] uses one broadcast to every party and some local computations - fast.

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-13
SLIDE 13

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Active security and self-trust

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-14
SLIDE 14

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Active security and self-trust

Attractive Security Model

Self-trust - All shares are required to reconstruct the secret values Active security - An adversary cannot change a share or deviate from the protocol without the other parties notices A corrupt party may block the computation 2 to n players

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-15
SLIDE 15

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Its practical

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-16
SLIDE 16

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Its practical

Experiment Setup

The benchmarks were performed by using 10 identical computers: 1 GHz dual-core AMD Opteron 2216 processors with 2x1 Mb level 2 cache 2 Gb RAM running Red Hat Enterprise Linux 5.2 64bit x86 architecture gigabit Ethernet, round-trip latency of 0.104 ms. 1024-bits key size for the Paillier cryptosystem One of the machines were used as coordinator.

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-17
SLIDE 17

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Its practical

Online Multiplication

n 2 3 4 5 6 7 8 9 time 27.4 15.9 19.7 22.8 25.6 26.7 28.2 35.9 stdvar 0.1 3.5 4.7 6.7 7.4 6.8 8.1 8.3

Figure: The average execution time in ms. as function of the number

  • f parties, n

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-18
SLIDE 18

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Its practical

Random Triple Generation

s 1 1 1 21 21 21 M 5 10 30 5 10 30 2 1.872 1.511 1.370 20.959 16.560 16.453 3 1.598 0.952 1.059 16.931 15.981 15.269 9 2.238 1.799 1.794 31.901 32.572 37.545

Figure: The average execution time in seconds of Random Triple Generation as a function of parties (2, 3, and 9), security parameter (1 and 21), and number of triples (5, 10, and 30)

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-19
SLIDE 19

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Solves real-world problems

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-20
SLIDE 20

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Solves real-world problems

The Orlandi Protocol is good for

Scenarios which requires self-trust or are know and can be prepared in advance are well-suited for Orlandi Protocol: Auctions Benchmarking Online games (e.g. poker - self-trust)

Procurements Data mining

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-21
SLIDE 21

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary The Orlandi Protocol in VIFF

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-22
SLIDE 22

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary The Orlandi Protocol in VIFF

Implemented in VIFF

VIFF - The Virtual Ideal Functionality Framework Allows implementation of SMC protocols in a clean and easy way Provide means for communication Arithmetic with elements from Zp Extend the Runtime class and define operations input, add, mul, sub, and output Automatic parallel (asynchronous) execution Python

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-23
SLIDE 23

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Efficient Paillier is required

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-24
SLIDE 24

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Efficient Paillier is required

The Key to making the protocol practical

Used extensively in the Orlandi Protocol Homomorphic property Decdk(Encek(m1)Encek(m2)) = m1 + m2

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-25
SLIDE 25

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Efficient Paillier is required

Paillier

Main variant (c = gmrNmod N) Subgroup variant (c = gm+N+rmod N) Multiexponentiations is vital to performance 2k-ary method uses two aux. tables to evaluate two powers 2k-ary matrix method uses aux. matrix instead of tables - saves a multiplication but gives more pre-computation Simultaneous sliding window exponentiation method All three methods are benchmarked for varying key-sizes and windows size 1 < k ≤ 5

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-26
SLIDE 26

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Efficient Paillier is required

Timings in CPU cycles vs. key size

223 225 226 227 228 229 1024 2048 3072 4096 CPU Cycles Keysize in bits sc-main karym k=2 karym k=3 karym k=4 karym k=5 kary k=2 kary k=3 kary k=4 kary k=5 ssw k=2 ssw k=3 ssw k=4 ssw k=5

Without precomputation.

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-27
SLIDE 27

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Rewrite key steps in C

Outline

1

What (is it all about?) What is Secure Multiparty Computation What is the Orlandi Protocol

2

Why (is the Orlandi protocol interesting?) Active security and self-trust Its practical Solves real-world problems

3

How (did we make it practical?) The Orlandi Protocol in VIFF Efficient Paillier is required Rewrite key steps in C

4

Summary

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-28
SLIDE 28

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary Rewrite key steps in C

Preprocessing is Slow in Python

step 2b of Triple Generation: γi,j = αbj

i Enceki(1; 1)di,j, where

αi = Enceki(ai), ai, bj ∈ Zp, di,j ∈ Zp3, and eki, dki are public/private keys. step 2b also involves mulitexponentiation step 3a of Triple Generation: ci =

  • j

Decdki(γi,j) −

  • j

di,j mod p (1) = Decdki(

  • j

γi,j mod N2) −

  • j

di,j mod p (2) relatively small amount of code

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-29
SLIDE 29

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary

Summary

The Orlandi protocol is practical The Orlandi protocol can be used to solve interesting problems The Orlandi protocol requires fast Paillier Key parts have been rewritten in C Implementation is partly available as part of the

  • pen-source VIFF framework at: http://www.viff.dk

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute

slide-30
SLIDE 30

What (is it all about?) Why (is the Orlandi protocol interesting?) How (did we make it practical?) Summary

Questions

Questions?

Thomas P. Jakobsen, Marc X. Makkes, and Janus Dam Nielsen The Alexandra Institute