Course Business I am traveling April 25-May 3rd

Slides:



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

Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Oblivious Transfer (OT) Alice (sender) has n secrets Alice wants to give k secrets to Bob Bob wants the secrets but does not want Alice to know which secrets.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Short course on quantum computing Andris Ambainis University of Latvia.
General Cryptographic Protocols (aka secure multi-party computation) Oded Goldreich Weizmann Institute of Science.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
Oblivious Transfer based on the McEliece Assumptions
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
1 Cross-Domain Secure Computation Chongwon Cho (HRL Laboratories) Sanjam Garg (IBM T.J. Watson) Rafail Ostrovsky (UCLA)
How to play ANY mental game
CS573 Data Privacy and Security
Slide 1 Vitaly Shmatikov CS 380S Introduction to Secure Multi-Party Computation.
Slide 1 Vitaly Shmatikov CS 380S Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert.
Secure two-party computation: a visual way by Paolo D’Arco and Roberto De Prisco.
Slide 1 Yao’s Protocol. slide Yao’s Protocol uCompute any function securely … in the semi-honest model uFirst, convert the function into a boolean.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Secure Computation (Lecture 5) Arpita Patra. Recap >> Scope of MPC > models of computation > network models > modelling distrust (centralized/decentralized.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits and obfuscation Eran Tromer Slides credit: Boaz.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Slide 1 Many thanks to Vitaly Shmatikov of the University of Texas, Austin for providing these slides. Introduction to Secure Multi-Party Computation.
Andrew Lindell Aladdin Knowledge Systems and Bar-Ilan University 04/08/08 CRYP-106 Efficient Fully-Simulatable Oblivious Transfer.
Cryptography CS Lecture 19 Prof. Amit Sahai.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
Verifiable Threshold Secret Sharing and Full Fair Secure Two-party Computation YE Jian-wei March 7, 2009.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Cryptography Lecture 13 Arpita Patra
Garbling Techniques David Evans
A Fixed-key Blockcipher
Topic 36: Zero-Knowledge Proofs
The Exact Round Complexity of Secure Computation
Foundations of Secure Computation
Some slides borrowed from Philippe Golle, Markus Jacobson
Foundations of Secure Computation
Zero Knowledge Anupam Datta CMU Fall 2017
Oblivious Transfer and GMW MPC
Topic 14: Random Oracle Model, Hashing Applications
The first Few Slides stolen from Boaz Barak
Cryptography CS 555 Lecture 22
Topic 11: Authenticated Encryption + CCA-Security
Maliciously Secure Two-Party Computation
Homework 5 Statistics Minimum Value 40 Maximum Value Range
CS 154, Lecture 6: Communication Complexity
Topic 30: El-Gamal Encryption
Man in the Middle Attacks
cryptographic protocols 2014, lecture 12 Getting full zero knowledge
Multi-Party Computation: Second year
Protocol ap1.0: Alice says “I am Alice”
Cryptography CS 555 Digital Signatures Continued
Course Business Homework 5 Extended Practice Final Released Next Week
Malicious-Secure Private Set Intersection via Dual Execution
CPSC 121: Models of Computation
CPSC 121: Models of Computation
Impossibility of SNARGs
Oblivious Transfer.
Cryptography Lecture 23.
Cryptography Lecture 26.
Cryptography Lecture 8 Arpita Patra © Arpita Patra.
ITIS 6200/8200 Chap 5 Dr. Weichao Wang.
Lecture 6.2: Protocols - Authentication and Key Exchange II
Presentation transcript:

Course Business I am traveling April 25-May 3rd Will still be available by e-mail to answer questions Final Exam Review on Monday, April 24th Guest Lectures on April 26 and 28 (TBD) Final Exam on Monday, May 1st (in this classroom) Adib will proctor Practice Final Exam released soon

Cryptography CS 555 Topic 37: Yao’s Garbled Circuits Credit: Some slides from Vitaly Shmatikov

Recap Zero-Knowledge Proofs Commitment Schemes Oblivious Transfer Secure Multiparty Computation (Security Models)

Recap: Oblivious Transfer (OT) 1 out of 2 OT Alice has two messages m0 and m1 At the end of the protocol Bob gets exactly one of m0 and m1 Alice does not know which one Oblivious Transfer with a Trusted Third Party b m0 1 out of 2 OT m1 mb

Recap: Bellare-Micali 1-out-of-2-OT protocol Oblivious Transfer without a Trusted Third Party g is a generator for a prime order group Gq in which CDH problem is hard m0 b c m1 𝑧0,𝑧1 𝐶 0 = 𝑔 𝑟 0 ,𝐻 𝑧 0 𝑟 0 ⊕ 𝑚 0 𝐶 1 = 𝑔 𝑟 1 ,𝐻 𝑧 1 𝑟 1 ⊕ 𝑚 1 c R Gq k R Zq 𝑧 𝑏 = 𝑔 𝑘 , 𝑧 1−𝑏 =𝑐 𝑔 −𝑘 Alice must check that 𝑧 1 =𝑐 𝑧 0 −1 Bob can decrypt Cb 𝑧 𝑏 𝑟 𝑏 = 𝑔 𝑘 𝑟 𝑏

Secure Multiparty Computation (Adversary Models) Semi-Honest (“honest, but curious”) All parties follow protocol instructions, but… dishonest parties may be curious to violate privacy of others when possible Fully Malicious Model Adversarial Parties may deviate from the protocol arbitrarily Quit unexpectedly Send different messages It is much harder to achieve security in the fully malicious model Convert Secure Semi-Honest Protocol into Secure Protocol in Fully Malicious Mode? Tool: Zero-Knowledge Proofs

Voting in the Semi-Honest Model Question: is cryptography awesome? 𝑚6 =𝑚5−𝑅 𝐴𝑙𝑖𝑐𝑒,𝐵𝑜𝑏 𝑚𝑜𝑑 5=𝑥+𝑦+𝑧 𝑚3 =𝑚2+𝑅 𝐴𝑙𝑖𝑐𝑒,𝐵𝑜𝑏 𝑚𝑜𝑑 5 y=1 (yes) 𝑚2= 𝑧+𝑚1+𝑅 𝐷𝑒𝑣𝑖𝑙,𝐴𝑙𝑖𝑐𝑒 𝑚𝑜𝑑 5 𝑚1 =𝑥+𝑅 𝐵𝑜𝑏,𝐷𝑒𝑣𝑖𝑙 𝑚𝑜𝑑 5 𝑚5=𝑚5 −𝑅 𝐷𝑒𝑣𝑖𝑙,𝐴𝑙𝑖𝑐𝑒 𝑚𝑜𝑑 5 x=1 (yes) 𝑚4 =𝑚3−𝑅 𝐵𝑜𝑏,𝐷𝑒𝑣𝑖𝑙 𝑚𝑜𝑑 5 𝑚6=𝑥+𝑦+𝑧=2 z=0 (no)

Malicious Model? Question: is cryptography awesome? 𝑚6 =𝑚5−𝑅 𝐴𝑙𝑖𝑐𝑒,𝐵𝑜𝑏 𝑚𝑜𝑑 5=𝑥+𝑦+𝑧−2 𝑚3 =𝑚2+𝑅 𝐴𝑙𝑖𝑐𝑒,𝐵𝑜𝑏 𝑚𝑜𝑑 5 y=1 (yes) 𝑚2= 𝑧−2+𝑚1+𝑅 𝐷𝑒𝑣𝑖𝑙,𝐴𝑙𝑖𝑐𝑒 𝑚𝑜𝑑 5 𝑚1 =𝑥+𝑅 𝐵𝑜𝑏,𝐷𝑒𝑣𝑖𝑙 𝑚𝑜𝑑 5 𝑚5=𝑚5 −𝑅 𝐷𝑒𝑣𝑖𝑙,𝐴𝑙𝑖𝑐𝑒 𝑚𝑜𝑑 5 x=1 (yes) 𝑚4 =𝑚3−𝑅 𝐵𝑜𝑏,𝐷𝑒𝑣𝑖𝑙 𝑚𝑜𝑑 5 𝑚6=𝑥+𝑦+𝑧−2=0 z=0 (no)

CS 380S Yao’s Protocol Vitaly Shmatikov

Yao’s Protocol Compute any function securely … in the semi-honest model First, convert the function into a boolean circuit AND AND Alice’s inputs NOT Bob’s inputs AND OR OR z z x y z x y z AND OR Truth table: 1 Truth table: 1 1 x y 1 x y 1 1 1 1 1 1 1 1

Alice prepares “garbled” version C’ of C AND AND Alice’s inputs NOT Bob’s inputs AND OR OR Overview: Alice prepares “garbled” version C’ of C Sends “encrypted” form x’ of her input x Allows bob to obtain “encrypted” form y’ of his input y Bob can compute from C’,x’,y’ the “encryption” z’ of z=C(x,y) Bob sends z’ to Alice and she decrypts and reveals to him z Crucial properties: Bob never sees Alice’s input x in unencrypted form. Bob can obtain encryption of y without Alice learning y. Neither party learns intermediate values. Remains secure even if parties try to cheat.

Intuition c AND a b

Intuition a b c AND b a a b

1: Pick Random Keys For Each Wire Next, evaluate one gate securely Later, generalize to the entire circuit Alice picks two random keys for each wire One key corresponds to “0”, the other to “1” 6 keys in total for a gate with 2 input wires k0z, k1z z AND Alice x y Bob k0x, k1x k0y, k1y

2: Encrypt Truth Table Alice encrypts each row of the truth table by encrypting the output-wire key with the corresponding pair of input-wire keys z k0z, k1z AND Alice x y Bob k0x, k1x k0y, k1y Ek0x(Ek0y(k0z)) x y z Ek0x(Ek1y(k0z)) Encrypted truth table: Original truth table: 1 Ek1x(Ek0y(k0z)) 1 1 1 1 Ek1x(Ek1y(k1z))

3: Send Garbled Truth Table Alice randomly permutes (“garbles”) encrypted truth table and sends it to Bob Does not know which row of garbled table corresponds to which row of original table z k0z, k1z AND Alice x y Bob k0x, k1x k0y, k1y Ek1x(Ek0y(k0z)) Ek0x(Ek0y(k0z)) Ek0x(Ek1y(k0z)) Ek0x(Ek1y(k0z)) Garbled truth table: Ek1x(Ek0y(k0z)) Ek1x(Ek1y(k1z)) Ek1x(Ek1y(k1z)) Ek0x(Ek0y(k0z))

4: Send Keys For Alice’s Inputs Alice sends the key corresponding to her input bit Keys are random, so Bob does not learn what this bit is k0z, k1z z Learns Kb’x where b’ is Alice’s input bit, but not b’ (why?) AND Alice x y Bob k0x, k1x If Alice’s bit is 1, she simply sends k1x to Bob; if 0, she sends k0x k0y, k1y Ek1x(Ek0y(k0z)) Ek0x(Ek1y(k0z)) Garbled truth table: Ek1x(Ek1y(k1z)) Ek0x(Ek0y(k0z))

5: Use OT on Keys for Bob’s Input Alice and Bob run oblivious transfer protocol Alice’s input is the two keys corresponding to Bob’s wire Bob’s input into OT is simply his 1-bit input on that wire z Knows Kb’x where b’ is Alice’s input bit and Kby where b is his own input bit k0z, k1z AND Alice x y Bob k0x, k1x Run oblivious transfer Alice’s input: k0y, k1y Bob’s input: his bit b Bob learns kby What does Alice learn? k0y, k1y Ek1x(Ek0y(k0z)) Ek0x(Ek1y(k0z)) Garbled truth table: Ek1x(Ek1y(k1z)) Ek0x(Ek0y(k0z))

6: Evaluate Garbled Gate Using the two keys that he learned, Bob decrypts exactly one of the output-wire keys Bob does not learn if this key corresponds to 0 or 1 Why is this important? z Knows Kb’x where b’ is Alice’s input bit and Kby where b is his own input bit k0z, k1z AND Alice x y Bob k0x, k1x Suppose b’=0, b=1 Ek1x(Ek0y(k0z)) k0y, k1y This is the only row Bob can decrypt. He learns K0z Ek0x(Ek1y(k0z)) Garbled truth table: Ek1x(Ek1y(k1z)) Ek0x(Ek0y(k0z))

7: Evaluate Entire Circuit In this way, Bob evaluates entire garbled circuit For each wire in the circuit, Bob learns only one key It corresponds to 0 or 1 (Bob does not know which) Therefore, Bob does not learn intermediate values (why?) Bob tells Alice the key for the final output wire and she tells him if it corresponds to 0 or 1 Bob does not tell her intermediate wire keys (why?) AND OR NOT Alice’s inputs Bob’s inputs

Brief Discussion of Yao’s Protocol Function must be converted into a circuit For many functions, circuit will be huge If m gates in the circuit and n inputs from Bob, then need 4m encryptions and n oblivious transfers Oblivious transfers for all inputs can be done in parallel Yao’s construction gives a constant-round protocol for secure computation of any function in the semi-honest model Number of rounds does not depend on the number of inputs or the size of the circuit!

Computational Indistinguishability Definition: We say that an ensemble of distributions 𝑋𝑛 𝑛∈ℕ and 𝑌𝑛 𝑛∈ℕ are computationally indistinguishable if for all PPT distinguishers D, there is a negligible function negl(n), such that we have 𝐴𝑑𝑣 𝐷,𝑛 = 𝑃𝑟 𝑠←Xℓ 𝐷 𝑠 =1 − 𝑃𝑟 𝑠←Yℓ 𝐷 𝑠 =1 ≤𝑛𝑒𝑔𝑙(𝑛) Notation: 𝑋𝑛 𝑛∈ℕ ≡ 𝐶 𝑌𝑛 𝑛∈ℕ means that the ensembles are computationally indistinguishable.

Security (Semi-Honest Model) Let 𝐵 𝑛 = 𝑡𝑟𝑎𝑛𝑠 𝐵 (𝑛,𝑥,𝑦) (resp. 𝐴 𝑛 = 𝑡𝑟𝑎𝑛𝑠 𝐴 (𝑛,𝑥,𝑦) ) be the protocol transcript from Bob’s perspective (resp. Alice’s perspective) when his input is x and Alice’s input is y (assuming that Alice follows the protocol). Security: Assuming that Alice and Bob are both semi-honest (follow the protocol) then there exist PPT simulators 𝑆 𝐴 and 𝑆 𝐵 s.t. 𝐴𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝐴 𝑛, 𝑓 𝐴 𝑥,𝑦 𝑛∈ℕ 𝐵𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝐵 𝑛, 𝑓 𝐵 𝑥,𝑦 𝑛∈ℕ Remark: Simulator 𝑆 𝐴 is only shown Alice’s output 𝑓 𝐴 𝑥,𝑦 (similarly, 𝑆 𝐵 is only shown Bob’s output 𝑓 𝐵 𝑥,𝑦 )

Security (Semi-Honest Model) Security: Assuming that Alice and Bob are both semi-honest (follow the protocol) then there exist PPT simulators 𝑆 𝐴 and 𝑆 𝐵 s.t. 𝐴𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝐴 𝑛,𝑥, 𝑓 𝐴 𝑥,𝑦 𝑛∈ℕ 𝐵𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝐵 𝑛,𝑦, 𝑓 𝐵 𝑥,𝑦 𝑛∈ℕ Remark: Simulator 𝑆 𝐴 is only shown Alice’s output 𝑓 𝐴 𝑥,𝑦 (similarly, 𝑆 𝐵 is only shown Bob’s output 𝑓 𝐵 𝑥,𝑦 ) Theorem (informal): If the oblivious transfer protocol is secure, and the underlying encryption scheme is CPA-secure then Yao’s protocol is secure in the semi-honest adversary model.

Fully Malicious Security? Alice could initially garble the wrong circuit C(x,y)=y. Given output of C(x,y) Alice can still send Bob the output f(x,y). Can Bob detect/prevent this? Fix: Assume Alice and Bob have both committed to their input: cA=com(xlrA) and cB=com(ylrB). Alice and Bob can use zero-knowledge proofs to convince other party that they are behaving honestly. Example: After sending a message A Alice proves that the message she just sent is the same message an honest party would have sent with input x s.t. cA=com(xlrA) Here we assume that Alice and Bob have both committed to correct inputs (Bob might use y which does not represent his real vote etc… but this is not a problem we can address with cryptography)

Fully Malicious Security Assume Alice and Bob have both committed to their input: cA=com(xlrA) and cB=com(ylrB). Here we assume that Alice and Bob have both committed to correct inputs (Bob might use y which does not represent his real vote etc… but this is not a problem we can address with cryptography) Alice has cB and can unlock cA Bob has cA and can unlock cB Alice sets Cf = GarbleCircuit(f,r). Alice sends to Bob. Alice convinces Bob that Cf = GarbleCircuit(f,r) for some r (using a zero-knowledge proof) For each original oblivious transfer if Alice’s inputs were originally x0,x1 Alice and Bob run OT with y0,y1 where yi=EncK(xi) Bob uses a zero-knowledge proof to convince Alice that he received the correct yi (e.g. matching his previous commitment cB) Alice sends K to Bob who decrypts yi to obtain xi

Next Class: Differential Privacy No Reading 