Computational Security. Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain.

Slides:



Advertisements
Similar presentations
Dov Gordon & Jonathan Katz University of Maryland.
Advertisements

On the (Im)Possibility of Arthur-Merlin Witness Hiding Protocols Iftach Haitner, Alon Rosen and Ronen Shaltiel 1.
Lower Bounds for Non-Black-Box Zero Knowledge Boaz Barak (IAS*) Yehuda Lindell (IBM) Salil Vadhan (Harvard) *Work done while in Weizmann Institute. Short.
Strict Polynomial-Time in Simulation and Extraction Boaz Barak & Yehuda Lindell.
Efficiency vs. Assumptions in Secure Computation Yuval Ishai Technion & UCLA.
Computational Privacy. Overview Goal: Allow n-private computation of arbitrary funcs. –Impossible in information-theoretic setting Computational setting:
Inaccessible Entropy Iftach Haitner Microsoft Research Omer Reingold Weizmann & Microsoft Hoeteck Wee Queens College, CUNY Salil Vadhan Harvard University.
Inaccessible Entropy Iftach Haitner Microsoft Research Omer Reingold Weizmann Institute Hoeteck Wee Queens College, CUNY Salil Vadhan Harvard University.
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
The Complexity of Zero-Knowledge Proofs Salil Vadhan Harvard University.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
Semi-Honest to Malicious Oblivious-Transfer The Black-box Way Iftach Haitner Weizmann Institute of Science.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Isolated PoK and Isolated ZK Ivan Damgård, Jesper Buus Nielsen and Daniel Wichs.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
Short course on quantum computing Andris Ambainis University of Latvia.
On the Composition of Public- Coin Zero-Knowledge Protocols Rafael Pass (Cornell) Wei-Lung Dustin Tseng (Cornell) Douglas Wiktröm (KTH) 1.
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
Modeling Insider Attacks on Group Key Exchange Protocols Jonathan Katz Ji Sun Shin University of Maryland.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Zero-Knowledge.
General Cryptographic Protocols (aka secure multi-party computation) Oded Goldreich Weizmann Institute of Science.
Impossibility Results for Concurrent Two-Party Computation Yehuda Lindell IBM T.J.Watson.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
A Parallel Repetition Theorem for Any Interactive Argument Iftach Haitner Microsoft Research TexPoint fonts used in EMF. Read the TexPoint manual before.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
1 Slides by Roel Apfelbaum & Eti Ezra. Enhanced by Amit Kagan. Adapted from Oded Goldreich’s course lecture notes.
1 Adapted from Oded Goldreich’s course lecture notes.
Public-Key Cryptosystems Based on Composite Degree Residuosity Classes Presenter: 陳國璋 EUROCRYPT'99, LNCS 1592, pp , By Pascal Paillier Efficient.
Secure Multi-party Computations (MPC) A useful tool to cryptographic applications Vassilis Zikas.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Zero-Knowledge Proof System Slides by Ouzy Hadad, Yair Gazelle & Gil Ben-Artzi Adapted from Ely Porat course lecture notes.
Lecturer: Moni Naor Foundations of Cryptography Lecture 12: Commitment and Zero-Knowledge.
Jointly Restraining Big Brother: Using cryptography to reconcile privacy with data aggregation Ran Canetti IBM Research.
1 Zaps and Apps Cynthia Dwork Microsoft Research Moni Naor Weizmann Institute of Science.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
1 A New Interactive Hashing Theorem Iftach Haitner and Omer Reingold WEIZMANN INSTITUTE OF SCIENCE.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
Foundations of Cryptography Rahul Jain CS6209, Jan – April 2011
Lecture 12 Commitment Schemes and Zero-Knowledge Protocols Stefan Dziembowski University of Rome La Sapienza critto09.googlepages.com.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Information-Theoretic Security and Security under Composition Eyal Kushilevitz (Technion) Yehuda Lindell (Bar-Ilan University) Tal Rabin (IBM T.J. Watson)
Adaptively Secure Broadcast, Revisited
How to play ANY mental game
Impossibility and Feasibility Results for Zero Knowledge with Public Keys Joël Alwen Tech. Univ. Vienna AUSTRIA Giuseppe Persiano Univ. Salerno ITALY Ivan.
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
Rational Cryptography Some Recent Results Jonathan Katz University of Maryland.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Honest-Verifier Statistical Zero-Knowledge Equals General Statistical Zero-Knowledge Oded Goldreich (Weizmann) Amit Sahai (MIT) Salil Vadhan (MIT)
Secure Computation (Lecture 9-10) Arpita Patra. Recap >> MPC with honest majority in i.t. settings > Protocol using (n,t)-sharing, proof of security---
Iftach Haitner and Eran Omri Coin Flipping with Constant Bias Implies One-Way Functions TexPoint fonts used in EMF. Read the TexPoint manual before you.
Bit Commitment, Fair Coin Flips, and One-Way Accumulators Matt Ashoff 11/9/2004 Cryptographic Protocols.
Lower bounds for Unconditionally Secure MPC Ivan Damgård Jesper Buus Nielsen Antigoni Polychroniadou Aarhus University.
Topic 36: Zero-Knowledge Proofs
On the Size of Pairing-based Non-interactive Arguments
Topic 14: Random Oracle Model, Hashing Applications
Cryptography Lecture 19.
cryptographic protocols 2014, lecture 12 Getting full zero knowledge
Fiat-Shamir for Highly Sound Protocols is Instantiable
Presentation transcript:

Computational Security

Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain a computationally n-secure protocol for arbitrary functionalities. –Impossible in information-theoretic setting. –Possible * in computational setting. –In fact, assuming one-way functions exist, there is a general compiler transforming an n-private protocol into an n-secure one with “similar” efficiency.  General n-secure computation is possible if passively secure OT exists. Implied by randomizable encryption, or trapdoor permutations.

How to Flip a Coin? Information theoretic setting –Perfect coin-flipping is possible iff n>3t. –Assuming broadcast, statistical coin-flipping is possible iff n>2t. –Nothing can be done in the 2-party case. Idea for (real-life) 2-party coin-flipping: –P 1 writes a random bit b and locks the paper in a box. –P 2 picks a random bit b’ –P 1 unlocks box and reveals b –Players output b  b’

Is the protocol secure? Idea for 2-party coin-flipping: –P 1 writes a random bit b and locks the paper in a box. –P 2 picks a random bit b’ –P 1 unlocks box and reveals b –Players output b  b’ Properties of coin-flipping in the ideal model: –If both players are honest, they output the same (random) bit –The bit output by an honest player is random In particular, corrupted player cannot bias the output of the other player. Problem with protocol: what if P 1 refuses to open box? –Suggestion: P 2 picks a random bit as its output. Problem: Allows P 1 to get the value it wants with probability 3/4 –Real-life suggestion: P 2 picks the output value that would make P 1 most unhappy. Allows coin-flipping where each player can only bias the coin to one direction. Applicable in many scenarios (e.g., in games, gambling). Problem: not always clear what would make P 1 unhappy… –Convention: P 2 outputs  (i.e., does not learn the output).

Can the problem be fixed? No, problem is inherent. High-level argument: –Suppose protocol has m rounds, where players alternate in sending messages. –In honest execution, at some stage some player should have an advantage of 1/m over the other in the probability of guessing the output. –An adversary corrupting this player can decide whether to continue the protocol or to abort based on its guess of the output. Workarounds: –Relax security definition allowing adversary to abort in the ideal model as well  standard convention –Disperse adversary’s advantage over many rounds. –Allow “invisible” trusted parties. –Timing assumptions: P 1 uses a weak lock that can be opened via brute force within an hour. P 2 must respond with his guess b’ within 1 second. If P 1 fails to open box, P 2 can recover the locked value b within an hour and output b  b’.

Guaranteed Output Delivery & Fairness In our default definition for secure computation, the ideal model provides: –Guaranteed output delivery: all players receive an output from TP –Fairness: if one player receives an output, then all players receive an output. –Guaranteed output delivery  fairness Coin-flipping example: even fairness cannot be generally achieved. Motivates the following relaxed security definition. In ideal model: –All players send their inputs to TP. Dishonest player may choose to abort. –If some player aborted, TP sends a special symbol  to all players and aborts. –(If no player aborted): TP sends corrupted players’ outputs to simulator. –Simulator decides whether to continue (letting TP send the actual outputs to uncorrupted players) or to abort (letting TP send  to uncorrupted players). Better: simulator can abort after learning the output only if it corrupts P 1. –Allows fully secure computation of any asymmetric 2-party functionality: functionality in which only P 1 gets an output. Under above defs., every functionality can be computed with computational n-security. –Assumes broadcast or public-key infrastructure. –If “Abort” occurs (honest players output  ) a definite cheater can be identified.

Back to Coin Flipping Main tool: Commitment scheme –Cryptographic analogue of a locked box Def. A (non-interactive bit-) commitment scheme is an efficiently computable function Com(b,r) with the following properties: –Privacy: C 0 (k)  c C 1 (k), where C b (k) is the distribution of Com(b,r) with r  R {0,1} k. –Binding : there are no r 0,r 1 such that Com(0,r 0 )=Com(1,r 1 ). Features: –Receiver cannot learn committed value without help of sender. –An honest sender can efficiently “open” commitment by sending b,r. –Even a malicious sender cannot “change its mind” once committed.

Implementing Commitment GM encryption is committing –Com(b,r) = GM public-key + encryption of b using randomness r –Technical issue: what if r fails to produce a valid key+encryption pair? Happens w/neg. probability, so in such case can output b without violating secrecy. Commitment from 1-1 OWF –A one-way function (OWF) is an efficiently computable f:{0,1} *  {0,1} * that is “hard to invert” in the following average-case sense: for any efficient (nonuniform) inversion algorithm I, the probability that I(1 k,f(r)) returns a preimage of f(r), where r  R {0,1} k, is negligible in k. –Given a 1-1 (bijective) OWF f, a commitment may be defined as: Com(b,(r 1,r 2 ))=(f(r 1 ), r 2, b  ), where denotes mod-2 inner product. Interactive commitment is possible under the minimal assumption that (an arbitrary) one-way function exist.

Coin Flipping Protocol P1 P2P1 P2 b  R {0,1} r  R {0,1} k c  com(b,r) c b ’  R {0,1} b’b’ Output b  b ’ Output b  b ’ if c=Com(b,r) Output  otherwise b,r

Simulating P 2 * Call TP and receive a random bit s. Repeatedly run the protocol (P 1,P 2 * ) until P 1 outputs s. –If k attempts fail, output “Fail” and halt. Output the view of P 2 * in the last (successful) run. Claim: Above simulator statistically emulates the real process. –By the privacy of the commitment scheme, the distribution of c in the real world is statistically close to uniform. –The probability that the simulator outputs “Fail” is negligible. –Given that the simulator does not output “Fail”, its output is distributed identically to the real view of P 2 * given that P 1 outputs s. Question: Does the above simulator generalize to flipping many coins in parallel?

Simulating P 1 * Call TP and receive a random bit s. –At this stage, simulator still can’t tell whether to abort. Start running P 1 * and obtain a commitment c * it would send in Round 1. Continue running the protocol from this point in two different ways, using b’=0 and b’=1. Let s 0,s 1 be the resulting outputs of P 2 (where s b  {0,1,  }). –If s 0 = s 1 = , abort TP and output a random b’ as incoming message. –If s d =  and s 1-d =s’ If s=s’, output 1-d as incoming message and allow P 2 to receive its output s. Otherwise, output d as incoming message and make TP abort. –If s d = s and s 1-d = 1-s, output d as incoming message and allow P 2 to receive its output s. Claim: Above simulator perfectly emulates the real process.

Zero-Knowledge Proofs Let L be an NP language and R a corresponding NP-relation. A Zero-Knowledge Proof system for L (using R) is a protocol between Prover P and Verifier V, satisfying the following. –Inputs: P and V have a common input x, and P holds a potential witness w. –Outputs: V either accepts or rejects. P has no output. –Completeness: If (P,V) run on inputs (x,w)  R, then V accepts x. Perhaps except w/neg prob. –Soundness: If x  L then for any malicious prover P * and any w, the probability that P * (x,w) makes V accept x is negligible in |x|. By default, P * can be computationally unbounded. ZK Proofs in which P * is bounded are referred to as ZK arguments. –Zero-knowledge: For any efficient malicious verifier V *, there is an efficient simulator such that for all (x,w) the output of S(x) is computationally indistinguishable from the view of V * in its interaction with P on inputs (x,w). Perfect and statistical variants

Zero-Knowledge Proofs (contd.) Thm. For every NP-relation R there is a zero-knowledge proof system. In fact, most natural ZK proofs systems satisfy the stronger requirement of zero-knowledge proofs of knowledge. –Intuitively: Verifier is convinced that whenever it accepts x, the malicious prover P * “knows” some witness w such that (x,w)  R. –A bit more formally: There exists an efficient extraction algorithm E and negligible function  such that whenever P * makes V accept x with prob.>  (|x|), E can use P * as a subroutine to extract a valid witness w for x.

From Passive Security to Active Security GMW compiler, in a nutshell: –Use commitment to make each player commit to its input. –Use committed coin-flipping to make each player commit to a secret and uniformly chosen random input for the private protocol. –Run the private protocol, where for each broadcasted message its sender proves in zero-knowledge that his current message is consistent with its committed input, committed random input, and previous messages. The latter is an NP-statement, which can be efficiently verified given the randomness used for committing the inputs and random inputs. If such proof fails, honest players detect cheating and can abort with output . Some subtle issues remain. –For instance How does one make sure that the input committed to by P 2 is not related to the input committed to by P 1 ? (Malleability) How does the simulator “extract” the inputs it should send to TP? Both of the above issues are addressed by making each player prove it knows the input it committed to using zero-knowledge proofs of knowledge. –Must guarantee that proofs are independent.

What’s left to be done? Improve efficiency –Many models, many problems –Various efficiency measures Communication, rounds, local computation, randomness Better composability –Universal Composability is provably impossible in standard model (for most functionalities). –Goal: find useful relaxations of UC which can be realized. Stronger adversaries –Better protocols for adaptive/mobile adversaries –Better/different solutions to the fairness problem Weaker cryptographic assumptions –MPC is equivalent to OT –Goal: Generalize / Unify assumptions under which OT can be based. Obtain lower bounds and negative results.