CS 178: Introduction to Cryptography (Spring 2018)
General Information
Instructor: Huijia (Rachel) Lin, rachel.lin(at)cs(dot)ucsb(dot)edu
TA: Kevin Burk, kburk (at) cs (dot) ucsb (dot) edu
TA: Adam Ibrahim, ai (at) cs (dot) ucsb (dot) edu
Time and location:
- Class: Monday/Wednesday 9:30am-10:45am, Phelp 3505
- Session 1: Friday 9:00-9:50am, PHELP 1448
- Session 2: Friday 9:00-9:50am, PHELP 2532
Office hours:
- Rachel Lin: Monday 4:30pm-5:30pm, HFH 1153
Piazza: We will be using Piazza for class-related discussions, posting homework and materials, and announcement. The Piazza page for this class is here.
Topics
Cryptography provides important tools for ensuring the privacy, authenticity, and integrity of the increasingly sensitive information involved in modern digital systems. Nowadays, core cryptographic tools, including encryption, message authentication codes, digital signature, key agreement protocols, etc., are used behind millions of daily on-line transactions. In this course, we will unveil some of the "magic" of cryptography.
Modern Cryptography uses mathematical language to precisely pin down elusive security goals, design primitives and protocols to achieve these goals, and validate the security of designed primitives and protocols using mathematical proofs based on clearly stated hardness assumptions. Therefore, to learn cryptography, it is essential to understand its mathematical underpinning. In this class, we will see the inner-working of cryptography for several core cryptographic tools, from encryption, to message authentication codes, to hash functions, to digital signatures, etc.
Required background: Though the presentation in this class will largely remain at an intuitive level, the class still requires a certain level of mathematical maturity (students should be ready to understand mathematical definition and proofs, and to write simple ones). Exposure to basic probability, algebra / elementary number theory and theory of computing is also expected. If in doubt, contact the instructor!
Textbook and Resources
There is no mandatory textbook. The class will take contents from the following textbook and lecture notes. The instructor will post reading material after each class.- M. Bellare Introduction
to Modern Cryptography (Click on the link "Course Notes" on the
left panel)
The page contains both lecture slides and notes. The notes are by Mihir Bellare and Phillip Rogaway. We will use mostly the slides. - R. Pass and a. shelat. A Course in Cryptography (Lecture Notes)
- J. Katz and Y. Lindell. Introduction to Modern Cryptography
- D. Stinson Cryptography, Theory and Practice (Third Edition)
- M. Bellare and P. Rogaway's more advanced lecture notes. Introduction to Modern Cryptography
- O. Goldreich. The Foundations of Cryptography
Grading:
There will be four homework, two midterm exams, and one final exam. Homework accounts for 20% points, each midterm 20% points, and final 40% points. Your final grade will depend on the weighted total points, and your ranking in the class.Class Policy:
- Every homework will be posted on-line on days indicated below in the syllabus by 11:59pm PST, and are due on days indicated below at 4:00pm PST.
- Students can form groups of 2 to solve the homework. Each group only need to submit one homework.
- Homework and midterm solutions are going to be discussed in the sections and are not going to be posted online.
- The midterm and final exams must be completed independently. The only material allowed during the exam are 2 pages of hand-written notes (two-sided single sheet of paper or one-sided two sheets of paper). If additional material is allowed, the instructor will communicate before the exams.
Syllabus
The following is a rough list of topics to be covered in the class. This list will be changed and refined during the course depending on the pace of the class.
Week | Date | Content | Reading Material | Assignment |
---|---|---|---|---|
1 | 2018-04-02 |
|
||
2018-04-04 |
|
|||
2 | 2018-04-09 |
|
|
|
2018-04-11 |
|
|||
3 | 2018-04-16 |
|
|
|
2018-04-18 |
|
|||
4 | 2018-04-23 |
|
||
2018-04-25 |
|
|
||
5 | 2018-04-30 |
|
||
2018-05-02 |
|
|||
6 | 2018-05-07 |
|
|
|
2018-05-09 |
|
|||
7 | 2018-05-14 |
|
||
2018-05-16 |
|
|
||
8 | 2018-05-21 |
|
||
2018-05-23 |
|
|
||
9 | 2018-05-28 |
|
||
2018-05-30 |
|
|||
10 | 2018-06-04 |
|
|
|
2018-06-06 |
|
|||
11 | 2018-06-13 |
|