CS 292F: Advanced Topics in Cryptography (Fall 2018)

Instructor: Huijia (Rachel) Lin, rachel.lin(at)cs(dot)ucsb(dot)edu

Class time and location: MW 9:00am-10:50am, Phelps 2510

Office hours: Mon 3:30-4:30pm or by appointment, HFH 1153

Piazza: We will be using Piazza for class-related discussions. https://piazza.com/ucsb/fall2018/cs292f/home.

Course Description

This class is meant to open to you research in Cryptography, both theoretical and applied. To do so, the class will involve reading research papers, reviewing them, discussing them, and doing a project.

Course Set-ups and Requirements: At the beginning of the course, I will give some lectures on the bare basics of cryptography for 4-5 lectures.

Next, the class will move to reading research papers. In each class, we will read one or two papers. Two students will be assigned as the lead, who will be responsible in understanding the papers thoroughly (collaboration is recommended), and do the following:

  • Start reading the paper at least one week, recommended 1.5 week, before presentation.
  • Write down a review for the paper, which summarizes and evaluates the paper. The review must be typed using Latex and submitted 4 days before the class on Piazza. (For Monday/Wednesday class, post by the previous Wednesday/Friday.) The review should contain background, a summary, and your own evaluation of the strength and weakness of the paper.
  • Send your slides (or notes if you plan to use the board instead of slides) to me via email 2 days before the class. (For Monday/Wednesday class, send to me by the previous Friday/Sunday.)
  • Prepare and give together a 50 min presentation of the paper (you can use the board, but slides are recommended). There is no restriction on the forms of presentation. You can present sequentially, each 30 minutes, or act a play together, or anything else.
  • Lead a discussion about the strength and weakness of the paper, and open questions following the paper.
Other students in class are expected to read the paper and the review written by the lead students before the class, come with questions and participate in discussions of the paper.

What papers will we read? There are many exciting research directions in theoretical and applied cryptography, such as, the following ones and many others.

  • Crypto Currency (BitCoin)
  • Program Obfuscation
  • Computing over encrypted data
  • Verifiable Computation (SNARK)
  • Cryptographic protocols (Multi-party computation, TLS/SSL)
  • Security in Machine Learning (Emerging topic)
  • Password-based Cryptography
Clearly, it is impossible to cover all topics in crypto in one class. So we will only sample some papers to read.

I will publish an initial list of papers of my choice. But you should also contribute to the list. One first task to you is contributing to the list, by the end of the second week, as many papers you recommend, and at least one. You can find interesting papers on cryptography in top crypto venues (EuroCrypt, Crypto, TCC) or in top security venues (Security and Privacy, Usenix Security, CCS, NDSS). You do not need to be restrcted to the topics mentioned above, but the paper must be related to crypto.

Assignment of lead students Then I will pick a subset of the papers from our list and assign two lead students to papers. You can swap assigned papers between youselves, as long as, both parties agree. You need to report back to me which papers you are the lead for by the end of the third week. We have 10 classes for paper reading. This means suppose there are 10 students in class, each student will be lead twice. If there are more students, we will assign more lead students per class.

Projects Another component of the class is project. You can form teams of two for the project. There are two milestones.

  • By the end of the 6th week, you need to decide on your project, and submit to me a project proposal about what your project is and why it is a meaningful project.
  • By the middle of the final week, you need to hand in the final report.
Some examples of the flavors of projects are: 1. Implementing a crypto system you read about. 2. Benchmarking some existing crypto schemes/protocols. 3. Surveying a topic in cryptography. 4. Extending one of the papers we talked about/you read about.

Final assessment will depend on a combination of presentation 40%, in-class participation 20%, and final project 40%.

Initial List of Papers

BitCoin and Distributed Concensus

Verifiable Computation Secure Database Program Obfuscation Privacy Multiparty Computation Computing Over Encrypted Data Failures of Cryptography (Cryptanalysis and Attacks) Post-Quantum Cryptography

Schedule

This will be filled when we finalize the assignment of papers.

WeekDateLecture contentsFormat
1 2018-10-01
  • Overview of modern cryptography
Lecture
2018-10-03 Basics II
  • Pseudo-random functions
  • Secret-Key Encryption
  • Modes of opeartion
Lecture
2 2018-10-08 Basics III
  • Message Authentication
  • Hash function
Lecture
2018-10-10 Basics IV
  • Public-key encryption
  • RSA
Lecture
  • Contribute to Paper List on 10-10
  • Initial assignment on 10-12
3 2018-10-15 Basics V
  • ElGamal
  • Signature Scheme
Lecture
2018-10-17
  • Canceled
  • report back changes on assignment
  • 42018-10-22
    Student Presentation
    2018-10-24
    Student Presentation
    52018-10-29
    Student Presentation
    2018-10-31
    Student Presentation
    62018-11-05
    Student Presentation
    2018-11-07
    Student Presentation Project Proposal Due
    72018-11-12
    • Veteran's Day
    2018-11-14
    • Canceled
    82018-11-19
    Student Presentation
    2018-11-21
    • Cancelled, Thanks Giving!
    92018-11-26
    Student Presentation
    2018-11-28
    Student Presentation
    102018-12-03
    Student Presentation
    2018-12-05
    Student Presentation
    112018-12-12No Class Final Report Due