## CS 6750: Cryptography and Communication Security

Instructor:

• Instructor: Alina Oprea (alinao).

Class Schedule:

·         Tuesday 11:45am-1:25pm

·         Thursday 2:50pm – 4:30pm

·         Location: Snyder Library 13

Office Hours: Thursday, 4:30-6pm, WVH 348

Class description:

Cryptography provides the mathematical foundation and protocols for protecting information in today's electronic world. This class will cover the design and formal assessment of cryptographic primitives, including symmetric ciphers, hash functions, public-key encryption and digital signatures. We will also study how to use these primitives correctly and rigorously in real-world applications to achieve strong security guarantees. The course will include as case studies several emerging applications rooted in strong cryptographic foundations: cloud security, secure multi-party computation, and crypto-currencies.

Pre-requisites:

·         Discrete mathematics

·         Probability theory

·         Number theory

## Textbook

Jonathan Katz and Yehuda Lindell. Introduction to Modern Cryptography. Second Edition.

The grade will be based on:

-          Homework assignments – 20%

-          Programming projects – 25%

-          Midterm exam – 20%

-          Final exam – 25%

-          Class participation – 10%

Calendar (Tentative)

 Unit Week Date Topic Readings Introduction 1 Tue 01/10 Course outline (syllabus, grading, policies) Course overview and history of cryptography [KL] Chapter 1 Perfect security Thu 01/12 Probability overview Perfectly secret cryptography [KL] Chapter 2 Symmetric-key primitives 2 Tue 01/17 Computational security Definition of secure encryption Pseudorandom generators [KL] Chapters 3.1 - 3.2 Thu 01/19 Reduction proofs Construction of computationally secure encryption from PRG [KL] Chapter 3.3   HW1 assigned 3 Tue 01/24 Constructions and attacks on stream ciphers Pseudorandom functions [KL] Chapters 6.1 and 3.5 Thu 01/26 Pseudorandom permutations and CPA-secure encryption [KL] Chapters 3.4 and 3.5 4 Tue 01/31 Principles for designing block ciphers. Block ciphers – DES and AES [KL] Chapter 6.2 HW1 due Thu 02/02 Modes of operation for block ciphers. Padding-oracle attacks on CBC encryption. [KL] Chapters 3.6 and 3.7 Project 1 5 Tue 02/07 Class canceled Thu 02/09 School closed 6 Tue 02/14 Message Authentication Codes. [KL] Chapter 4.1-4.4 Project 1 due 02/13 HW2 Hash functions Thu 02/16 Authenticated encryption. Cryptographic hash functions. [KL] Chapters 4.5, 5.1, and 5.2 7 Tue 02/21 Hash functions, attacks, Merkle trees. [KL] Chapters 5.3 and 5.4 Public-key cryptography Thu 02/23 Number theory basics.  Primality testing [KL] Chapter 8 HW2 due 8 Tue 02/28 Key exchange (Diffie-Hellman, Needham-Schroeder). [KL] Chapter 10 Thu 03/02 Midterm exam Spring break Tue 03/07 No class Thu 03/09 No class Public-key cryptography 9 Tue 03/14 School closed HW3 Thu 03/16 Public-key encryption. Trapdoor permutations. RSA encryption. [KL 11.1,11.2, 11.5] 10 Tue 03/21 Attacks against RSA. Discrete log-based encryption. El-Gamal cryptosystem. [KL 11.4,12.1-12.4] Project 2 Applications Thu 03/23 Digital signatures (definition and RSA Full-Domain Hash construction) PKI; Certification Authorities; HW3 due 11 Tue 03/28 SSL/TLS and HTTPS User authentication; one-time passwords; challenge-response protocols Thu 03/30 Crypto currencies Project 2 due 03/31 HW 4 out on 03/31 12 Tue 04/04 Class canceled Thu 04/06 Cloud security using trusted hardware Lecture by Amirali Sanatinia 13 Tue 04/11 Crypto currencies HW4 due 04/10 – submissions accepted until 04/13 Project 3 04/11 Thu 04/13 Anonymity in Bitcoin, zero-knowledge proofs; commitments I. Miers et al. Zerocoin: Anonymous Distributed E-Cash from Bitcoin 14 Tue 04/18 Secure two-party computation; oblivious transfer; Yao’s garbled circuits; homomorphic encryption Thu 04/20 Review and prepare for final exam Fri 04/21 Final exam; 3:30-5:30pm; Ell Hall 311 Project 3 due 04/26

Books: