Presentation is loading. Please wait.

Presentation is loading. Please wait.

Click to edit Master title style Framework for Realizing Efficient Secure Computations An introduction to FRESCO Janus Dam Nielsen, ph.d Research and Innovation.

Similar presentations


Presentation on theme: "Click to edit Master title style Framework for Realizing Efficient Secure Computations An introduction to FRESCO Janus Dam Nielsen, ph.d Research and Innovation."— Presentation transcript:

1 Click to edit Master title style Framework for Realizing Efficient Secure Computations An introduction to FRESCO Janus Dam Nielsen, ph.d Research and Innovation Scientist The Alexandra Institute Joint work with the Cryptography and Security group at the University of Aarhus

2 Click to edit Master title style Non-profit application oriented research institution – focus on IT 5 labs including IT-Security 100+ employees About ”Alexandra Instituttet A/S” R&D Researchers Providers Users generating Commercial Development Consultancy Ideation Networks Dissemination inspiration 5 th of June, 2012Page 2

3 Click to edit Master title style 5 th of June, 2012Page 3 Secure Computations –MPC protocols –Applications which use MPC protocols E.g. auctions, databases, games, benchmarking, etc. Efficient –Efficient implementations of MPC protocols and application Framework –A reusable set of libraries used to implement secure computations FRESCO is written in Java A Framework for Realizing Efficient Secure Computations

4 Click to edit Master title style 5 th of June, 2012Page 4 Implement protocol independent applications Reuse MPC protocol implementations Reuse scaffold infrastructure Reuse network communication strategies Fair comparison –Applications, protocols, network Make it easier to utilize MPC Share knowledge Does not require as much effort as a domain specific language Why do we need a framework

5 Click to edit Master title style Page 5 Use all available cores Utilization of the cores Ressource challenges for MPC applications Write time Latency Number of writes Use cache and RAM No swapping CPU Network Memory 5 th of June, 2012

6 Click to edit Master title style 5 th of June, 2012Page 6 FRESCO and CPU utilisation Parallel A circuit of gates Level 1 Level 2 Level 3 Level 4 Ready gate

7 Click to edit Master title style Page 7 What is a gate? A number of input wires One output wire A gate can be evaluated, but only when input is ready Only one round of communication –It is a unit of work –Uniform, fits most use cases Evaluated twice: before sending and after receiving data 5 th of June, 2012

8 Click to edit Master title style 5 th of June, 2012Page 8 FRESCO and memory utilisation

9 Click to edit Master title style Page 9 FRESCO and network utilisation - 1 Input Output 5 th of June, 2012

10 Click to edit Master title style Page 10 FRESCO and network utilisation - 2 Input Output 1 1 2 2 3 3 1 1 2 2 3 3 5 th of June, 2012

11 Click to edit Master title style 5 th of June, 2012Page 11 The Architecture of FRESCO Progra m Gate Evaluator Network Output EvaluateSendReceiveFetch

12 Click to edit Master title style Page 12 Who is in control? Framework 5 th of June, 2012

13 Click to edit Master title style Page 13 The Evaluator is in control EvaluateSendReceiveFetch 5 th of June, 2012

14 Click to edit Master title style Page 14 Consequences Better resource utilisation Wiring a circuit is tedious 5 th of June, 2012

15 Click to edit Master title style Page 15 Application programmers care about –8, 16, 32, or 64 bit integers –Booleans –Bits –Open or closed values Protocol implementers provides circuits for operations on these types –Addition –Multiplication –xor –Etc. Application Programmer Interface 5 th of June, 2012

16 Click to edit Master title style Page 16 Better suite the level of abstraction of the application programmer Reuse code Circuits should be plugable 5 th of June, 2012 BinaryCircuit add = provider.getAddCircuit(x, y, sum); BinaryCircuit mult = provider.getMultCircuit(sum, z, mult); OpenInt open = provider.getOpenCircuit(mult, o); evaluator.eval(add, mult, open); System.out.println(”Result: ” + o); BinaryCircuit add = provider.getAddCircuit(x, y, sum); BinaryCircuit mult = provider.getMultCircuit(sum, z, mult); OpenInt open = provider.getOpenCircuit(mult, o); evaluator.eval(add, mult, open); System.out.println(”Result: ” + o);

17 Click to edit Master title style 5 th of June, 2012Page 17 Implemented following protocols –Passively secure shamir VSS [Gennaro, Rabin, Rabin. ”Simplified VSS and Fast-track Multiparty Computations with Applications to Threshold Cryptography”] –SHE [Bendlin, Damgård, Orlandi, Zakarias. ”Semi-homomorphic Encryption and Multiparty Computation”] –SPZ [Damgård, Pastro, Smart, Zakarias. ”Multipary Computation from Somewhat homomorphic encryption”] –TinyOT [Nielsen, Nordholt, Orlandi, Burra. ”A New Approach to Practical Active-Secure Two-Party Computation”] –Kaka [Katz, Malka. ”Constant Round Private Function Evaluation”] Practical Experiences

18 Click to edit Master title style 5 th of June, 2012Page 18 Implemented the protocol by Gennaro, Rabin, and Rabin once Implemented three different strategies for the network and evaluator –Sequential network –Parallel network using Netty (framework for asynchronous communication) –Parallel network using two dedicated threads at each client, one for sending and one for receiving data Using FRESCO for Exploration Got a factor of 20 speedup between the first and the third

19 Click to edit Master title style 5 th of June, 2012Page 19 Some numbers Multiplications [GRR], 1GHz dual core Opteron, 2mb cache, 2 Gb RAM VIFF 1 KHz FRESCO 50 KHz C64 1 MHz

20 Click to edit Master title style 5 th of June, 2012Page 20 Thank you Questions?


Download ppt "Click to edit Master title style Framework for Realizing Efficient Secure Computations An introduction to FRESCO Janus Dam Nielsen, ph.d Research and Innovation."

Similar presentations


Ads by Google