Unformatted text preview:

6.897: Selected Topics in Cryptography Lectures 9 and 10 Lecturer: Ran CanettiHighlights of past lectures Presented two frameworks for analyzing protocols: • A basic framework: – Only function evaluation – Synchronous – Non-adaptive corruptions – Modular composition (only non-concurrent) • A stronger framework (UC): – General reactive tasks – Asynchronous (can express different types of synchrony) – Adaptive corruptions – Concurrent modular composition (universal composition)P1 P3 P4 P2 F P1 P3 P4 P2 S A Protocol execution: whether it interacts with: - A run of π with A - An ideal run with F and S Z Protocol P securely realizes F if: For any adversary A There exists an adversary S Such that no environment Z can tell ZIdeal process: Review of the definition:Lectures 9 and 10 UC Commitment and Zero-Knowledge • Quick review of known feasibility results in the UC framework. • UC commitments: The basic functionality, Fcom. • Impossiblity of realizing Fcom in the plain model. • Realizing Fcom in the common reference string model. • Multiple commitments with a single string: – Functionality Fmcom. – Realizing Fmcom. • From UC commitments to UC ZK: Realizing Fzk in the Fcom-hybrid model.do zcyk02]Questions: • How to write ideal functionalities that adequately capture known/new tasks? • Are known protocols UC-secure? (Do these protocols realize the ideal functionalities associated with the corresponding tasks?) • How to design UC-secure protocols?Existence results: Honest majority Multiparty protocols with honest majority: Thm: Can realize any functionality [C. 01]. (e.g. use the protocols of [BenOr-Goldwasser-Wigderson88, Rabin-BenOr89,Canetti-Feige-Goldreich-Naor96]).Two-party functionalities • Known protocols do not work.(“black-box simulation with rewinding” cannot be used). • Many interesting functionalities (commitment, ZK, coin tossing, etc.) cannot be realized in plain model. • In the “common random string model” can do: – UC Commitment [Canetti-Fischlin01,Canetti-Lindell-Ostrovsky-Sahai02,Damgard-Nielsen02, Damgard-Groth03,Hofheinz-QuedeMueler04]. – UC Zero-Knowledge [CF01, DeSantis et.al. 01] – Any two-party functionality [CLOS02,Cramer-Damgard-Nielsen03] (Generalizes to any multiparty functionality with anynumber of faults.)UC Encryption and signature • Can write a “digital signature functionality” Fsig. Realizing Fsigis equivalent to “security against chosen message attacks”as in [Goldwasser-Micali-Rivest88]. – Using Fsig, can realize “ideal certification authorities” and “ideally authenticated communication”. • Can write a “public key encryption functionality”, Fpke. Realizing Fpke w.r.t. non-adaptive adversaries is equivalent to “security against chosen ciphertext attacks (CCA)” as in [Rackoff-Simon91,Dolev-Dwork-Naor91,…]. – Can formulate a relaxed variant of Fpke, that still captures most of the current applications of CCA security. – What about realizing Fpke w.r.t. adaptive adversaries? • As is, it’s impossible. • Can relax Fpke a bit so that it becomes possible (but still verycomplicated) [Canetti-Halevi-Katz04]. How to do it simply?UC key-exchange and secure channels • Can write ideal functionalities that capture Key-Exchange and Secure-Channels. • Can show that natural and practical protocols are secure: ISO 9798-3, IKEv1, IKEv2, SSL/TLS,… • What about password-based key exchange? • What about modeling symmetric encryption and message authentication as ideal functionalities?UC commitmentsThe commitment functionality, Fcom 1. Upon receiving (sid,C,V,“commit”,x) from(sid,C), do: 1. Record x 2. Output (sid,C,V, “receipt”) to (sid,V) 3. Send (sid,C,V, “receipt”) to S 2. Upon receiving (sid,“open”) from (sid,C), do: 1. Output (sid,x) to (sid,V) 2. Send (sid,x) to S 3. Halt. Note: Each copy of Fcom is used for a single commitment/decommitment Only. Multiple commitments require multiple copies of Fcom.Impossibility of realizing Fcom in the plain model can be realized:Fcom – By a “trivial” protocol that never generates any output. (The simulator never lets Fcom to send output to any party.) – By a protocol that uses third parties as “helpers”.  A protocol is: – Terminating, if when run between two honest parties, some output is generated by at least one party. – Bilateral, if only two parties participate in it. Theorem: There exist no terminating, bilateral protocols that securely realize Fcom in the plain real-life model. (Theorem holds even in the Fauth-hybrid model.)Proof Idea: Let P be a protocol that realizes Fcom in the plain model, and let S be an ideal-process adversary for P, for the case that the commiter is corrupted. Recall that S has to explicitly give the committed bit to Fcom before the opening phase begins. This means that S must be able to somehow “extract” the committed value b from the corrupted committer. However, in the UC framework S has no advantage over a real-life verifier. Thus, a corrupted verifier can essentialy run S and extract the committed bit b from an honest committer, before the opening phase begins, in contradiction to the secrecy of the commitment.More precisely, we proceed in two steps: (I) Consider the following environment Zc and real-life adversary Ac that controls the committer C: –Ac is the dummy adversary: It reports to Zc any message received from the verifier V, and sends to V any message provided by Zc. –Zc chooses a random bit b, and runs the code of the honest C by instructing Ac to deliver all the messages sent by C. Once V outputs “receipt”, Zc runs the opening protocol of C with V, and outputs 1 if the output bit b’ generated by V is equal to b. From the security of P there exists an ideal-process adversary Sc such that IDEALFcomSc,,Zc ~ EXECP,Ac,Zc. But: – In the real-life mode, b’, the output of V, is almost always the same as the bit b that secretly Z chose. – Consequently, also in the ideal process, b’=b almost always. – Thus, the bit b’’ that S provides Fcom at the commitment phase is almost always equal to b.(II) Consider the following environment Zv and real-life adversary Av that controls the verifier V: –Zv chooses a random bit b, gives b as input to the honest commiter, and outputs 1 if the adversary output a bit b’=b. –Av runs Sc. Any message received from C is


View Full Document

MIT 6 897 - Lecture Notes

Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?