ELI BEN-SASSON, ALESSANDRO CHIESA, ERAN TROMER AND MADARS VIRZA USENIX SECURITY SYMPOSIUM 2014 Succinct Non-Interactive Zero Knowledge for a von Neumann.

Slides:



Advertisements
Similar presentations
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Advertisements

Models of Computation Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 1, Lecture 2.
Data-Flow Analysis II CS 671 March 13, CS 671 – Spring Data-Flow Analysis Gather conservative, approximate information about what a program.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Data-Flow Analysis Framework Domain – What kind of solution is the analysis looking for? Ex. Variables have not yet been defined – Algorithm assigns a.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Dominique Unruh Non-interactive zero-knowledge with quantum random oracles Dominique Unruh University of Tartu With Andris Ambainis, Ansis Rosmanis Estonian.
Optimistic Concurrent Zero-Knowledge Alon Rosen IDC Herzliya abhi shelat University of Virginia.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London FOSAD 2014.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
1 Adapted from Oded Goldreich’s course lecture notes.
CS 536 Spring Intermediate Code. Local Optimizations. Lecture 22.
Data Flow Analysis Compiler Design Nov. 3, 2005.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Snick  snack A Working Computer Slides based on work by Bob Woodham and others.
Sedgewick & Wayne (2004); Chazelle (2005) Sedgewick & Wayne (2004); Chazelle (2005)
Programming Fundamentals (750113) Ch1. Problem Solving
Data Flow Analysis Compiler Design Nov. 8, 2005.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Sedgewick & Wayne (2004); Chazelle (2005) Sedgewick & Wayne (2004); Chazelle (2005)
Design and Analysis of Algorithms
Imperative Programming
Secure Web Applications via Automatic Partitioning Stephen Chong, Jed Liu, Andrew C. Meyers, Xin Qi, K. Vikram, Lantian Zheng, Xin Zheng. Cornell University.
CIS Computer Programming Logic
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Secure Incremental Maintenance of Distributed Association Rules.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Introduction to Problem Solving. Steps in Programming A Very Simplified Picture –Problem Definition & Analysis – High Level Strategy for a solution –Arriving.
Algorithms & FlowchartsLecture 10. Algorithm’s CONCEPT.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
CSC310 © Tom Briggs Shippensburg University Fundamentals of the Analysis of Algorithm Efficiency Chapter 2.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
UNIT-I INTRODUCTION ANALYSIS AND DESIGN OF ALGORITHMS CHAPTER 1:
NP-Complete Problems Algorithm : Design & Analysis [23]
Zero Knowledge Proofs Matthew Pouliotte Anthony Pringle Cryptography November 22, 2005 “A proof is whatever convinces me.” -~ Shimon Even.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
ALITHEIA: Towards Practical Verifiable Graph Processing Yupeng Zhang, Charalampos Papamanthou and Jonathan Katz University of Maryland.
Zero-Knowledge Proofs Ben Hosp. Classical Proofs A proof is an argument for the truth or correctness of an assertion. A classical proof is an unambiguous.
David Evans CS588: Security and Privacy University of Virginia Computer Science Lecture 15: From Here to Oblivion.
Manu Drijvers, Joint work with Jan Camenisch, Anja Lehmann. March 9 th, 2016 Universally Composable Direct Anonymous Attestation.
IP, (NON)ISOGRAPH and Zero Knowledge Protocol COSC 6111 Advanced Algorithm Design and Analysis Daniel Stübig.
Topic 36: Zero-Knowledge Proofs
On the Size of Pairing-based Non-interactive Arguments
Topics Introduction to Repetition Structures
MPC and Verifiable Computation on Committed Data
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
R.G.L.M Samarawickrama , D. N. Ranasinghe , T. Sritharan
Objective of This Course
Programming Fundamentals (750113) Ch1. Problem Solving
CSCI-2400 Models of Computation.
Chapter 1 Introduction.
Fiat-Shamir for Highly Sound Protocols is Instantiable
Principles of Programming Languages
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
09 Zero Knowledge Proof Hi All, One more topic to go!
Helen: Maliciously Secure Coopetitive Learning for Linear Models
Zerocash: Decentralized Anonymized Payments from Bitcoins
ITIS 6200/8200 Chap 5 Dr. Weichao Wang.
Jens Groth and Mary Maller University College London
Chapter 4 The Von Neumann Model
Presentation transcript:

ELI BEN-SASSON, ALESSANDRO CHIESA, ERAN TROMER AND MADARS VIRZA USENIX SECURITY SYMPOSIUM 2014 Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture 1

Outline Warm-up example Problem definition Contribution Evaluation Comparison Question time 2

What is zero knowledge proof Interactive zero knowledge proof  theoretical systems where a first party ('Prover') exchanges messages with a second party ('Verifier') to convince the Verifier that some mathematical statement is true. Properties  Completeness: honest prover can convince the verifier  Soundness: no cheating prover can convince the verifier  Zero-knowledge: no cheating verifier learns anything other than the fact that the fact is true/false 3

Example AT&T want to assign frequency optimally across base stations Seeking help from Google  No pay until knowing them have the coloring  No solution until they are paid up 4

Solve the dilemma Zero knowledge proof  AT&T place empty chart in the room and leave  Google walk in, shuffle the pens, color and cover node by hats  AT&T walk in, challenge one of the edges  Repeat until confidence is high enough 5

Non-interactive zero knowledge proof Problem with interactive solution  No conversation, no proof  Cannot maintain conversation with many verifiers Desired properties  Solution and proof achieved in one pass 6

Non-interactive solution Let Google prepare a sequence of color pairs  Trivial to cheat: modifying the coloring whenever adjacent nodes conflict  An extra mile – no control over the edge sequence Solution  Take all the commitments from proof iterations, join them into a batch  Compute the hash of the batch, and treat the hash as if it was a sequence of integers hash 7

Problem definition Security problem  A client owns a public input x  A server owns private input DB  Client wishes to learn z = A(x,DB) for problem A known to both parties  Integrity vs. confidentiality 8

More than that Universality  “hash” function for all kinds of problems Efficiency  Interfacing problem to a universal setting  Conduct efficient proving & verfication 9

General Solution 10

General Solution 11

Circuit generation Limitation of prior work  Per program key generation  Limited support to high level language Proposal  One setting for all problem  Python?  A mini von Neumann architecture: vnTinyMem 12

Circuit generation Goal  Validity of instruction fetch  Validity of instruction execution  Validity of memory access 13

Circuit generation Approach  CPU operation states (registers S and instruction I)  Trace = (S 1, I 1, … S T, I T )  Non-deterministic rounting 14

SNARK for circuit Tailored implementation of underlying components  Finite-field arithmetic, elliptic-curve group arithmetic, pairing-based checks, and so on Performance 15

Evaluation Circuit generator  Additive dependence of program size  Most gates dedicated to check execution 16

Evaluation SNARK  Low time consumption per gate  Small proof/key size 17

Comparison Pinocchio: Nearly Practical Verifiable Computation  Similar proof tool chain workflow  Constant proof size  Circuit generation: program analysis  Restrict loop iteration bounds and memory accesses to be known at compile time  Good for circuit-like routines  Bad for memory intensive programs 18

Comparison Pantry: Verifying computations with state  Re-implemented protocol in “Pinocchio”, allow data dependent memory access  Extend verifiable map-reduce framework  Gate consumption is high for memory accesses  Also rely on program analysis 19

Comparison TRUESET: Faster Verifiable Set Computations  Mixture arithmetic gates and set gates  Specialized in set operation (SQL subset)  Intersection, union and set difference  Input specific runtime 20

Thank you Question & answer 21