Foundation of Cryptography, Introduction Adminstration + Introduction
Total Page:16
File Type:pdf, Size:1020Kb
Foundation of Cryptography, Introduction Adminstration + Introduction Benny Applebaum & Iftach Haitner, Tel Aviv University (Slightly edited by Ronen Shaltiel, all errors are by Ronen Shaltiel) University of Haifa. 2018 Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 1 / 16 Part I Administration and Course Overview Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 2 / 16 Section 1 Administration Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 3 / 16 2. Course website: Can be reached from Ronen’s homepage. Important Details 1. There will be a final exam. Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 4 / 16 Important Details 1. There will be a final exam. 2. Course website: Can be reached from Ronen’s homepage. Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 4 / 16 Course Prerequisites 1. Computational Models 2. Probability theory. Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 5 / 16 Course Material 1. Books: 1.1 Oded Goldreich. Foundations of Cryptography. 1.2 Jonathan Katz and Yehuda Lindell. An Introduction to Modern Cryptography. 2. Lecture notes 2.1 Ran Canetti www.cs.tau.ac.il/~canetti/f08.html 2.2 Yehuda Lindell u.cs.biu.ac.il/~lindell/89-856/main-89-856.html 2.3 Luca Trevisan www.cs.berkeley.edu/~daw/cs276/ 2.4 Salil Vadhan people.seas.harvard.edu/~salil/cs120/ 2.5 Benny Applebaum and Iftach Haitner http://moodle.tau.ac. il/2016/course/view.php?id=368416201 Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 6 / 16 Section 2 Course Topics Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 7 / 16 Course Topics Basic primitives in cryptography (i.e., one-way functions, pseudorandom generators and zero-knowledge proofs). I Focus on formal definitions and rigorous proofs. I The goal is not studying some list, but to understand cryptography. I Start with “what is security?” I Only then do we ask how to achieve it. I Start from the bottom and work our way up. Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 8 / 16 Part II Foundation of Cryptography Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 9 / 16 Some stories and motivation I Encryption (symmetric and public-key). I Coin tossing over the phone (impossible information theoretically, but possible against poly-time adversaries). Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 10 / 16 Section 3 Cryptography and Computational Hardness Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 11 / 16 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 3. Does P6 = NP suffice? 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 polynomial-time algorithms: an algorithmA runs in polynomial-time, if 9p 2 poly such that the running time of A(x) is bounded by p(jxj) for any x 2 f0; 1g∗ 4. Problems: hard on the average. No known solution 5. One-way functions: an efficiently computable function that no efficient algorithm can invert. Cryptography and Computational Hardness 1. What is Cryptography? 2. Hardness assumptions, why do we need them? 3. Does P6 = NP suffice? NP: all (languages) L ⊂ f0; 1g∗ for which there exists a polynomial-time algorithmV and (a polynomial) p 2 poly such that the following hold: 3.1 V (x; w) = 0 for any x 2= L and w 2 f0; 1g∗ 3.2 for any x 2 L, 9w 2 f0; 1g∗ with jwj ≤ p(jxj) and V (x; w) = 1 P6 = NP: i.e., 9L 2NP , such that for any polynomial-time ∗ algorithmA, 9x 2 f0; 1g withA (x) 6= 1L(x) Benny Applebaum & Iftach Haitner (TAU) Foundation of Cryptography 2018 12 / 16 4.