ECE/CS 498AC: Applied Cryptography, Fall 2018

Instructor Andrew Miller soc1024@illinois.edu TA Kevin Liao Location ECEB 2013 Lecture Times

Tuesday and Thursday, 2:00pm- 3:20pm

Office Andrew: CSL 461

Kevin: CSL 368

Office Hours

Andrew: Thursday 3:30-4:30pm

Kevin: Monday 10:30-11:30

Piazza [piazza link]

Cryptographic protocols are fundamental techniques for building secure systems, even against powerful attackers. Traditionally, cryptography is concerned with communication channels that lets Alice and Bob send messages, (e.g., “Let’s meet by the bridge at 5pm!”) while preventing an eavesdropper Eve from observing the message or tampering with the contents. Cryptography is already widely deployed, for example the TLS protocol is used every time you visit your bank’s website and see a green “padlock” symbol in your browser. Cryptography can also be used for much more than just secure channels. An emerging trend is the use of “computation over encrypted data.” For example, how can we perform a query over encrypted database?

The goal of this course is to introduce the concepts of modern cryptography, including a combination of both theoretical foundations (how do we precisely state security guarantees and assumptions, and prove that a protocol is designed correctly?) and practical techniques. At the end of this course, you will know how to apply cryptographic techniques in the design and analysis of secure distributed systems. This course is intended for senior undergraduate students with an interest in applying cryptographic techniques to building secure systems, and for graduate students with an interest in cryptography or systems security.

Main themes of the course include: Provable security. This course will introduce the modern theory of cryptography, where we provide rigorous proofs that a protocol is secure in spite of interference from arbitrary malicious adversaries (assuming precisely-stated models of network primitives and computationally-hard problems). Protocols for secure computing. Traditionally, the goal of cryptography is to build a secure communication channel between Alice and Bob. However, recently, the toolbox of practical cryptographic protocols has become much more versatile and powerful. This course will focus on the application and analysis of protocols for diverse applications, such as secure outsourcing of storage and computing over encrypted data. Failures and limitations of cryptography. Many (if not the vast majority of) deployed cryptosystems have been plagued with vulnerabilities, stemming from ad hoc protocol design, incorrect implementations, and overly-simplistic security models. This course will cover many examples of high-profile attacks.

Prerequisites: Either of the following (or consent of instructor):

- ECE 422 / CS 461 (Introduction to computer security) or equivalent

- ECE 428 / CS 425 (Distributed Systems) or equivalent

- ECE 173 / CS 173 (Discrete structures) or equivalent

Texts, books, resources

Calendar

Machine Problems (4 assignments, worth 12.5% each, 44% of grade in total)

Quizzes and Participation (6% of grade)

Midterm and Final Exam (25% of grade)

Final Project (only for 4 credit option) (25% of grade)*

A proposal for each final project must be submitted to and accepted by the instructor by the proposal deadline.

Grading

50%: Machine problems 12.5%: MP1: Zero-Knowledge Proofs 12.5%: MP2: Garbled Circuits 12.5%: MP3: Multiparty Computation 12.5%: MP4: Cryptanalysis

25%: Written homework / take-home exam 10%: Midterm 15%: Final

25%: Final project (4-credit only) 5%: Project Proposal (approved by instructor) 10%: Checkpoint (informal report, 5-minute presentation) 10%: Final project code, security analysis, and report



Late Policy

Academic Integrity