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

Slides:



Advertisements
Similar presentations
MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
Advertisements

Computer Abstractions and Technology
Secure Content Delivery in Information-Centric Networks: Design, Implementation, and Analyses Computer Science Department New Mexico State University,
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Performance Analysis of Multiprocessor Architectures
New Advances in Garbling Circuits Based on joint works with Yuval Ishai Eyal Kushilevitz Brent Waters University of TexasTechnion Benny Applebaum Tel Aviv.
Introduction CS 524 – High-Performance Computing.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
Technology Round 7 Exploring I.C.T. in the Syllabus.
Course: Introduction to Computers
OpenSSL acceleration using Graphics Processing Units
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
BENCHMARK SUITE RADAR SIGNAL & DATA PROCESSING CERES EPC WORKSHOP
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Making FPGAs a Cost-Effective Computing Architecture Tom VanCourt Yongfeng Gu Martin Herbordt Boston University BOSTON UNIVERSITY.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
Boosting Event Building Performance Using Infiniband FDR for CMS Upgrade Andrew Forrest – CERN (PH/CMD) Technology and Instrumentation in Particle Physics.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Insert presenter logo here on slide master. See hidden slide 4 for directions  Session ID: Session Classification: SEUNG GEOL CHOI UNIVERSITY OF MARYLAND.
Lecture 2 Title: Computer Software By: Mr Hashem Alaidaros MIS 101.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
On the Practical Feasibility of Secure Distributed Computing A Case Study Gregory Neven, Frank Piessens, Bart De Decker Dept. of Computer Science, K.U.Leuven.
Architectures of distributed systems Fundamental Models
MapReduce How to painlessly process terabytes of data.
1 ISA&D29-Oct ISA&D29-Oct-13 Systems Analyst: problem solver IT and Strategic Planning.
Accelerating Homomorphic Evaluation on Reconfigurable Hardware Thomas Pöppelmann, Michael Naehrig, Andrew Putnam, Adrian Macias.
1 Secure Multi-party Computation Minimizing Online Rounds Seung Geol Choi Columbia University Joint work with Ariel Elbaz(Columbia University) Tal Malkin(Columbia.
Numerical Libraries Project Microsoft Incubation Group Mary Beth Hribar Microsoft Corporation CSCAPES Workshop June 10, 2008 Copyright Microsoft Corporation,
Hyper Threading Technology. Introduction Hyper-threading is a technology developed by Intel Corporation for it’s Xeon processors with a 533 MHz system.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Secure Computation (Lecture 2) Arpita Patra. Vishwaroop of MPC.
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Multi-objective Topology Synthesis and FPGA Prototyping Framework of Application Specific Network-on-Chip m Akram Ben Ahmed Xinyu LI, Omar Hammami.
Shouqing Hao Institute of Computing Technology, Chinese Academy of Sciences Processes Scheduling on Heterogeneous Multi-core Architecture.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Securing Distributed Systems with Information Flow Control.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
1 MEVAL: A Practically Efficient System for Secure Multi-party Statistical Analysis Koki Hamada NTT Secure Platform Laboratories.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
Biosimilar (Insulin) – Competitive Landscape and Market & Pipeline Analysis, 2016 DelveInsight’s, “Biosimilar (Insulin) – Competitive Landscape and Market. Request for sample of this research report:
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
Round-Efficient Multi-Party Computation in Point-to-Point Networks Jonathan Katz Chiu-Yuen Koo University of Maryland.
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
Lower bounds for Unconditionally Secure MPC Ivan Damgård Jesper Buus Nielsen Antigoni Polychroniadou Aarhus University.
NFV Compute Acceleration APIs and Evaluation
CSC235 Computer Organization & Assembly Language
Assembly Language for Intel-Based Computers, 5th Edition
Click to Add Title Click to Add Subtitle.
Course: Introduction to Computers
Committed MPC Multiparty Computation from Homomorphic Commitments
FPGAs in AWS and First Use Cases, Kees Vissers
Implementation of IDEA on a Reconfigurable Computer
Secure Computation of Constant-Depth Circuits with Applications to Database Search Problems Omer Barkol Yuval Ishai Technion.
Assessment Findings System Professional <Insert Consultant Name>
Architectures of distributed systems Fundamental Models
MPJ: A Java-based Parallel Computing System
PowerPoint Template.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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);

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

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

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

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