CS 290G: Secure Computation (Spring 2014)
Instructor: Huijia (Rachel) Lin, rachel.lin(at)cs(dot)ucsb(dot)edu
Class time and location: TR 3-4:50pm, Phelps 2510
Office hours: Wed 1:30-2:30pm or by appointment, HFH 1153
Class webpage: http://www.cs.ucsb.edu/~rachel.lin/courses/14s290G/
Course Description
With the growing demand for security and privacy, the field of cryptography has expanded rapidly in the past three decades. Beyond the original goal of ensuring secure communication, innovative and powerful concepts and primitives have emerged that enable new secure paradigm of computing. In this course, we will survey some of the exciting new developments in private database, computation over encrypted data, secure computation without trusted third party, and verifiable outsourcing of computation.
The basic nature of cryptography is all-or-nothing, protecting the privacy of honest individuals against the evil. Core cryptographic primitives, such as, encryption, hash functions, signatures etc., are developed and continuously improved to ensure data confidentiality, integrity and authenticity. A fundamental question that follows is how to extract utility from the heavily securely guarded data? Can we still compute over them? Can we collaborate across boundaries of trust? Can we support dynamic data, maintain efficiency and flexibility? We will see examples of new cryptographic primitives---Oblivious RAM, Searchable Encryption, Fully Homomorphic Encryption, Secure Multi-Party Computation, and Universal Arguments---that achieve both security and utility in some scenarios, and brainstorm about other scenarios where security and utility remain in conflict.
Course Objectives: For students who are interested in cryptography research, the objective is preparing the background for delving into a topic. For students who are interested in security issues in other areas, the objective is familiarizing them with cryptographic tools and thinking, enabling application of cryptographic tools in other areas, and spurring interdisciplinary research.
Course Set-ups and Requirements: The course will be a combination of lectures and paper presentations by the students. At the beginning of the course, I will give lectures on bare basics of cryptography. Then the course will move on to more concrete topics. For each topic, I will again give lectures to introduce the primitives we study and some background. After that, students will present papers on this topic.
Students will also pursue a course research project. Some examples of the flavors of projects are: 1. Improve known construction of a primitive. 2 Propose a new primitive, formalize it and explore its construction. 3. Apply a primitive to solve a security problem in another area. Any combination of the flavors are also encouraged. The final outputs of the project include a presentation and a short report.
Final assessment will depend on a combination of presentation, in-class participation, and final project. The tentative weights of different components are 35%, 15%, 50%
Schedule
The following is a WORKING DRAFT of the schedule of the class. There will be changes depending on the pace of the class.
Week | Date | Lecture contents | Papers/Reading material | Format |
---|---|---|---|---|
1 | 2014-04-01 |
Welcome and Basics I
| Lecture | |
2014-04-03 |
Basics II
| Lecture | ||
2 | 2014-04-08 |
Basics III
| Lecture | |
2014-04-10 |
Basics IV
| Lecture | ||
3 | 2014-04-15 |
Basics V
| Further Reading: | Lecture |
2014-04-17 |
Private Databases I
|
Further Reading: | Lecture | |
4 | 2014-04-22 | Private Databases II
|
Further Reading: | Student Presentation by Victor |
2014-04-24 | Private Databases III
| Student Presentation by Divya | ||
5 | 2014-04-29 | Computing Over Encrypted Data I
|
Lecture | |
2014-05-01 | Computing Over Encrypted Data II
|
Lecture | ||
6 | 2014-05-06 | Computing Over Encrypted Data III
|
Student Presentation by Jason | |
2014-05-08 | Computing Over Encrypted Data IV
| Further Reading: | Student Presentation by Akhila | |
7 | 2014-05-13 |
Secure Multi-Party Computation I
| Lecture | |
2014-05-15 | Secure Multi-Party Computation II
| Further Reading: | Lecture | |
8 | 2014-05-20 | Secure Multi-Party Computation III
| Student Presentation by Chirs and Omer | |
2014-05-22 | Secure Multi-Party Computation IV
|
Student Presentation by Morgan and Asad | ||
9 | 2014-05-27 | Verifiable Outsourcing of
Computation I
| Lecture | |
2014-05-29 | Verifiable Outsourcing of
Computation II
| Student Presentation by Fish | ||
10 | 2014-06-03 | Verifiable Outsourcing of
Computation III
|
Further Reading: | Student Presentation |
2014-06-05 | Student Projects Presentation |
Resources and References:
-
O. Goldreich. The
Foundations of Cryptography
J. Katz and Y. Lindell. Introduction to Modern Cryptography
R. Pass and
a. shelat. A
Course in Cryptography (Lecture Notes)
M. Bellare and P. Rogaway. Introduction to Modern Cryptography (Lecture Notes)