CMSC 443/652: Cryptography and Data Security Spring 2019

  • Welcome to the CMSC 443/652 Class!
  • Instructor: Haibin Zhang
  • hbzhang at umbc dot edu (best way to reach me)
  • Office: ITE 357
  • Office Hours: TuTh 11:15am - 12:00pm
  • Time: TuTh 10:00am - 11:15am
  • TA: Chao Liu; Email: chaoliu717 at umbc dot edu
  • Office Hours: Fri 1:00pm - 2:00pm, ITE 349

Additional information

  • This course has a significant mathematical component. Students are expected to have "mathematical maturity" since many of the concepts will be abstract, rigorous definitions and proofs will be given, and some new mathematics (e.g., group theory, number theory) will be introduced. Basic background in discrete mathematics (probability, modular arithmetic) is assumed. If you know theory of computation or computational complexity, the thing is easier, by a little bit.

Academic conduct

  • The UMBC academic integrity policy is available at http://oue.umbc.edu/ai/ All writing and presentation must be entirely your own. You need to reference things that are not yours. If you have done a similar project previously, please let me know and let's discuss if new things could be built upon your previous project. You need to explicitly acknowledge any help you received for any writing and presentation. If you do not include a statement, it is assumed you work completely independently.
  • Cases of academic dishonesty will be dealt with seriously. Depending on its severity, it can be an F for the course.

Textbooks

  • Introduction to Modern Cryptography (Chapman & Hall/CRC Cryptography and Network Security Series) 2nd Edition by Jonathan Katz and Yehuda Lindell. (The first edition will not work.)

Grading

  • Attendance and participation: 5%
  • Quiz, Question and Answers: 20% (Questions and Answers handed in before the class starts.)
  • HWs: 15% (No late HWs; I will give you enough time; do not start late!)
  • Midterm: 30%
  • Final: 30%
  • Note: Entries for future dates are tentative and subject to change as the semester progresses. Readings refer to Introduction to Modern Cryptography, 2nd edition.
  • slides will be posted when available; however, slides will not be used for all lectures.
No. Class Date Topic Slides Reading
1 Jan 29 Introduction and overview
Private-key cryptography
The syntax of private-key encryption
The shift cipher
Lecture 1 Sections 1.1-1.3
2 Jan 31 Cancelled
3 Feb 5 Modern cryptography: definitions, assumptions, and proofs
Perfect secrecy
The one-time pad.
Lecture 2 Sections 1.4, 2.1, and 2.2
4 Feb 7 Proving security of the one-time pad
Randomness generation and implementing the one-time pad
Limitations of perfect secrecy
Toward computational notions of security.
Lecture 3 Sections 2.2, 2.3, and 3.1
5 Feb 12 A computational notion of security
Pseudorandomness and pseudorandom generators.
Lecture 4 Sections 3.1, 3.2.1, and 3.3.1
6 Feb 14 Pseudorandom generators and stream ciphers
The pseudo-OTP
Proofs by reduction, and a proof of security for the pseudo-OTP
Security for multiple encryptions
Drawbacks of deterministic encryption.
Lecture 5 Sections 3.3.1-3.3.3 and 3.4.1
7 Feb 19 Chosen-plaintext attacks and CPA-security
Pseudorandom functions
Lecture 6 Sections 3.4.2 and 3.5.1
8 Feb 21 Pseudorandom permutations and block ciphers
CPA-security from pseudorandom functions
Encrypting arbitrary-length messages: block-cipher modes of operation.
Lecture 7 Section 3.5.2 and 3.6.2
9 Feb 26 Stream ciphers and stream-cipher modes of operation
Chosen-ciphertext attacks
Security against chosen-ciphertext attacks
Padding-oracle attacks.
Lecture 8 Sections 3.6.1, 3.7.1, and 3.7.2
10 Feb 28 Padding-oracle attacks
Message integrity and message authentication codes (MACs)
Defining security for MACs
A fixed-length MAC
Lecture 9 Sections 4.1 and 4.2
11 Mar 5 A fixed-length MAC (continued)
MACs for arbitrary-length messages. CBC-MAC.
Lecture 10 Sections 4.3 and 4.4.1
12 Mar 7 Exam review
Authenticated encryption and generic constructions
Secure sessions.
Lecture 11 Sections 4.5.1-4.5.4
13 Mar 12 Midterm
14 Mar 14 Some probability analysis
finish authenticated encryption and secure sessions
Lecture 12
15 Mar 19 Spring Break, No class
16 Mar 21 Spring Break, No class
17 Mar 26 Midterm review
authenticated sessions
Lecture 13
18 Mar 28 Hash functions and collision resistance
Birthday attacks on hash functions
Hash-and-Mac, HMAC
Lecture 14 Sections 5.1.1, 5.3.1, 5.4.1
19 Apr 2 Random Oracle Model
Other applications of hash functions
Lecture 15 Sections 5.5 and 5.6
20 Apr 4 Basic number theory and algorithmic number theory
Modular arithmetic and efficient algorithms
Efficient exponentiation
Lecture 16 Sections 8.1.1 and 8.1.2; Appendices B.1 and B.2.1-B.2.3
21 Apr 9 Group theory Lecture 17 Sections 8.1.3 and 8.1.4
22 Apr 11 The factoring assumption
Primality testing
The RSA assumption
Lecture 18 Sections 8.2.1, 8.2.3, and 8.2.4
23 Apr 16 Cyclic groups
Hardness assumptions in cyclic groups: the discrete-logarithm assumption and Diffie-Hellman problems
Lecture 19 Sections 8.3.1-8.3.3
24 Apr 18 Concrete parameters
Drawbacks of private-key cryptography
The Diffie-Hellman key-exchange protocol and the public-key setting
Public-key encryption: syntax and definitions of security
Lecture 20 Sections 9.3, 10.1, 10.3, 10.4, and 11.1
25 Apr 23 Definitions of security for public-key encryption
Hybrid encryption and the KEM/DEM paradigm
El Gamal encryption
Lecture 21 Sections 11.2 (but not the proof of Theorem 11.6), 11.3 (but not the proof of Theorem 11.12), 11.4.1, 11.4.2, and 11.4.4 (just the fact that El Gamal encryption is malleable)
26 Apr 25 RSA-based encryption. Padded RSA (PKCS #1 v1.5)
PKCS #1 v2. Digital signatures
Lecture 22 Sections 11.5.1 (through page 412), 11.5.2, 11.5.4, and 12.1
27 Apr 30 The hash-and-sign paradigm
RSA-based signatures
DSA
Certificates and public-key infrastructures
Lecture 23 Sections 12.2-12.4 and 12.7
28 May 2 Bitcoin and permissionless blockchains Lecture 24 Will use Video
Bitcoin: A Peer-to-Peer Electronic Cash System
29 May 7 Permissioned blockchains Lecture 25 Blockchain Consensus Protocols in the Wild
30 May 9 Review Lecture 26
31 May 21 Final Exam (10:30am-12:30 PM)