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

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

Class time and location: MW 1:00pm-2:50pm, Phelps 2510

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

Class webpage: http://www.cs.ucsb.edu/~rachel.lin/courses/16f292F/

Piazza: We will be using Piazza for posting materials and discussions. The Piazza page for this class is here https://piazza.com/ucsb/fall2016/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 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 for each paper, who will be responsible in understanding the paper thoroughly, and do the following. (Collaboration is strongly recommended.)

  • Write a review for the paper. The review should be at most one page, summarizing the context, content, and your evaluation. When writing a review, think about reading it yourself and trying to quickly obtain an overview of the paper. A template is here [tex]. The review needs to be posted on Piazza 24 hours before the class.
  • Prepare and give an 1 hour presentation of the papers. You can use the board, or slides, or a combination of them. 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 of the paper in the remaining 30 minutes of the class about the strength and weakness of the paper, and open questions following the paper.
Other students in class are expected to read carefully the review written by classmates and at least browse through the paper 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.

  • Program Obfuscation
  • Computing over encrypted data (Fully Homomorhpic Encryption (FHE), Functional Encryption (FE))
  • Failures of Cryptography (Cryptanalysis and Attacks)
  • Crypto Currency (Bitcoin) and Smart Contracts (Ethereum)
  • Memory Hard Functions (e.g., Script, Argon 2)
  • Cryptographic protocols (e.g., TLS/SSL, secure multiparty comptuation protocols)
  • Secure Processor (e.g., Intel SGX)
  • Cloud Computing Techniques (e.g., Verifiable Computation, Oblivious RAM)
  • Post-Quantum Cryptography (e.g., Lattice based crypto)
  • and many many more
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 (see below). But you should also contribute to the list. One first task to you is contributing to the list as many papers you recommend, and at least one, by the end of the second week. 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. Your participation is very important, since it tells me your interests and your interests shape what topics we will study in class.

Assignment of lead students Then I will pick a subset of the papers from our list and assign two lead students to papers. I will assign you papers close to your interests. In addition, you can swap assigned papers between youselves based on mutual agreement. Report back to me which papers you are the lead for by the end of the third week. We have around 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 the slides of a pitch of 10 mins about what your project is and why it is a meaningful project. Then, each group will present their pitch in the following weeks. I will see how the pitch presentation fits into the schedule later.
  • 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 35%, in-class participation 15%, and final project 50%.

Initial List of Papers (growing)

Crypto Currency and Smart Contracts

Cloud Computing Technique Secure Database Techniques Program Obfuscation Cryptographic protocols (e.g., TLS/SSL, secure multiparty comptuation protocols) Post-Quantum Cryptography Failures of Cryptography (Cryptanalysis and Attacks) Memory Hard Functions Computing over encrypted data (Fully Homomorhpic Encryption (FHE), Functional Encryption (FE)) Secure Processors Privacy

Schedule

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

WeekDateLecture contentsFormat
1 2016-09-26
  • Cancelled
2016-09-28
  • Overview of modern cryptography
Lecture
2 2016-10-03 Basics II
  • Computational Indistinguishability
  • Pseudo-random functions
  • Pseudo-random generator
Lecture
2016-10-05 Basics III
  • Secret-Key Encryption
  • Message Authentication
Lecture
  • Contribute to Paper List by 11:59pm Oct. 7th.
  • I will make the initial assignment by 11:59pm Oct. 9th
  • 3 2016-10-10
    • Cancelled, FOCS
    Lecture
    2016-10-12
    • Cancelled, FOCS
    Lecture Report changes to lead assignment by 11:59pm Oct. 14th
    42016-10-17 Basics IV
    • Public-key encryption
    • RSA, ElGamal
    • Signature Scheme
    Student Presentation
    2016-10-19
    Student Presentation
    52016-10-24
    Student Presentation
    2016-10-26
    Student Presentation
    62016-10-31
    Student Presentation
    2016-11-02
    Student Presentation Project Proposal
    72016-11-07
    Student Presentation
    2016-11-09
    Student Presentation
    82016-11-14
    Student Presentation
    2016-11-16
    Student Presentation
    92016-11-21
    Student Presentation
    2016-11-23
    Student Presentation
    102016-11-28
    Student Presentation
    2016-11-30
    Student Presentation
    112016-12-05No Class Final Report Due