Unformatted text preview:

6.897: Advanced Topics in Cryptography Lecturer: Ran CanettiFocus for first half (until Spring Break): Foundations of cryptographic protocols Goal: Provide some theoretical foundations of secure cryptographic protocols: • General notions of security • Security-preserving protocol composition • Some basic constructions Overall: Definitional and foundational slant (but also constructions, and even some efficient ones…)Notes • Throughout, will try to stress conceptual points and considerations, and will spend less time on technical details. • Please interrupt me and ask lots of questions – both easy and hard! • The plan is only a plan, and is malleable…Lecture plan Lecture 1 (2/5/4): Overview of the course. The definitional framework of “classic” multiparty function evaluation (along the lines of [C00]): Motivation for the ideal-model paradigm. The basic definition. Lecture 2 (2/6/4): Variants of the basic definition. Non-concurrent composition. Lecture 3 (2/12/4): Example: Casting Zero-Knowledge within the basic definitional framework. The Blum protocol for Graph Hamiltonicity. Composability of Zero-Knowledge. Lecture 4 (2/13/4): The universally composable (UC) security framework: Motivation and the basic definition(based on [C01]). Lectures 5,6 (2/19-20/4): No lecture (TCC)Lecture 7 (2/26/4): Alternative formulations of UC security. The universal composition theorem. Survey of feasibility results in the UC framework. Problem Set 1. Lecture 8 (2/27/4): UC commitments: Motivation. The ideal commitment functionality. Impossibility of realizations in the plain model. A protocol in the Common Reference String (CRS) model (based on [CF01]). Lecture 9 (3/4/4): The multi-commitment functionality and realization. UC Zero Knowledge from UC commitments. Universal composition with joint state. Problem Set 1 due. Lecture 10 (3/5/4): Secure realization of any multi-party functionality with any number of faults (based on [GMW87,G98,CLOS02]): The semi-honest case. (Static, adaptive, two-party, multi-party.)Potential encore: On symbolic (“formal-methods”) analysis of cryptographic protocols.Lecture 11 (3/11/4): Secure realization of any multi-party functionality with any number of faults: The Byzantine case. (Static, adaptive, two-party, multi-party.) The case of honest majority. Lecture 12 (3/12/4): UC signatures. Equivalence with existential unforgeability against chosen message attacks (as in [GMR88]). Usage for certification and authentication. Lecture 13 (3/18/4): UC key-exchange and secure channels. (Based on [CK02]). Lecture 14 (3/19/4): UC encryption and equivalence with security against adaptive chosen ciphertext attacks (CCA). Replayable CCA encryption. (Based on [CKN03].) Problem Set 2.Scribe for today?What do we want from a definition of security for a given task? • Should be mathematically rigorous (I.e., should be well-defined how a protocol is modeledand whether a given protocol is “in” or “out”). • Should provide an abstraction (“a primitive”) that matches our intuition for the requirements of the task. • Should capture “all realistic attacks” in the expected execution environment. • Should guarantee security when the primitive is needed elsewhere. • Should not be over-restrictive. • Should be based on the functionality of the candidate protocol, not on its structure. • Nice-to-haves: – Ability to define multiple tasks within a single framework. – Conceptual and technical simplicity.What do we want from a definition of security for a given task? • Should be mathematically rigorous (I.e., should be well-defined how a protocol is modeledand whether a given protocol is “in” or “out”). • Should provide an abstraction (“a primitive”) that matches our intuition for the requirements of the task. • Should capture “all realistic attacks” in the expected execution environment. • Should guarantee security when the primitive is needed elsewhere. • Should not be over-restrictive. • Should be based on the functionality of the candidate protocol, not on its structure. • Nice-to-haves: – Ability to define multiple tasks within a single framework. – Conceptual and technical simplicity.What do we want from a definition of security for a given task? • Should capture “all realistic attacks” in the expected execution environment. Issues include: – What are the network characteristics? (synchrony, reliability, etc.) – What are the capabilities of the attacker(s)? (controlling protocol participants? The communication links?In what ways? ) – What are the possible inputs? – What other protocols are running in the same system? • Should guarantee security when the primitive is needed elsewhere: – Take a protocol that assumes access to the “abstract primitive”, and let it work with a protocol that meets the definition. The overall behavior should remain unchanged.  Some flavor of “secure composability” is needed already in the basic desiderata.First candidate: The “classic” task of multiparty secure function evaluation • We have: – n parties, p1…pn, n>1, where each p has an input value x in D.i i Some of the parties may be corrupted. (Let’s restrict ourselves to static corruptions, for now.) – A probabilistic function f:Dn x R  Dn . – An underlying communication network • Want to design a “secure” protocol where each p has output i f(x1…xn,,r) .That is, want: i – Correctness: The honest parties get the correct function value of the parties’ inputs. – Secrecy: The corrupted parties learn nothing other than what is computable from their inputs and prescribed outputs.Examples: • F(x1 ,…,xn ) = x1 +…+xn • F(x1 ,…,xn ) = max(x1 +…+xn) • F(-,…,- ) = r U D • F((x0,x1),b)= (-,xb) (b in {0,1}) • FR((x,w),-) = (-,(x,R(x,w)) (R(x,w) is a binary relation) … • But, cannot capture “reactive” tasks (e.g., commitment, signatures, public-key encryption…)How to formalize? How to define correctness? Question: Based on what input values for the corrupted partiesshould the function be computed?(ie, recall: P should output f(x1…xn,,r) . But what should bei ithe x’s of the corrupted parties?) – If we require that f is computed on input values fixed from above then we get an unrealizable definition. – If we allow the corrupted parties to choose their inputs


View Full Document

MIT 6 897 - Advanced Topics in Cryptography

Download Advanced Topics in Cryptography
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 Advanced Topics in Cryptography 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 Advanced Topics in Cryptography 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?