CS 290G: Secure Computation (Spring 2014)
Instructor: Huijia (Rachel) Lin, rachel.lin(at)cs(dot)ucsb(dot)edu
Class time and location: TR 34:50pm, Phelps 2510
Office hours: Wed 1:302: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 allornothing, 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 primitivesOblivious RAM, Searchable Encryption, Fully Homomorphic Encryption, Secure MultiParty Computation, and Universal Argumentsthat 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 Setups 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, inclass 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  20140401 
Welcome and Basics I
 Lecture  
20140403 
Basics II
 Lecture  
2  20140408 
Basics III
 Lecture  
20140410 
Basics IV
 Lecture  
3  20140415 
Basics V
 Further Reading:  Lecture 
20140417 
Private Databases I

Further Reading:  Lecture  
4  20140422  Private Databases II

Further Reading:  Student Presentation by Victor 
20140424  Private Databases III
 Student Presentation by Divya  
5  20140429  Computing Over Encrypted Data I

Lecture  
20140501  Computing Over Encrypted Data II

Lecture  
6  20140506  Computing Over Encrypted Data III

Student Presentation by Jason  
20140508  Computing Over Encrypted Data IV
 Further Reading:  Student Presentation by Akhila  
7  20140513 
Secure MultiParty Computation I
 Lecture  
20140515  Secure MultiParty Computation II
 Further Reading:  Lecture  
8  20140520  Secure MultiParty Computation III
 Student Presentation by Chirs and Omer  
20140522  Secure MultiParty Computation IV

Student Presentation by Morgan and Asad  
9  20140527  Verifiable Outsourcing of
Computation I
 Lecture  
20140529  Verifiable Outsourcing of
Computation II
 Student Presentation by Fish  
10  20140603  Verifiable Outsourcing of
Computation III

Further Reading:  Student Presentation 
20140605  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)