This course explains the inner working of cryptographic tools, the security properties they are designed to achieve, how to reason about their security, and how to properly use them. We will cover topics such as encryption (secret-key and public-key), message authentication, user authentication, digital signatures, key management, cryptographic hashing, network security protocols (SSL, IPsec), and public-key infrastructure. Towards the end of the class we will touch on a few advanced topics such as zero-knowledge proofs and secure computation.
Prerequisites: The course is intended for upper-level undergraduates, and we assume familiarity with algorithms (CS.161) and discrete math (ICS.6B / ICS.6D). Basic understanding of probability theory and modular arithmetic will be helpful, although we will review relevant concepts as we need them.
This term we will be using Piazza for class discussion. The system allows for getting you help fast and efficiently from classmates, the TA, and the instructor. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
Find our class page at: https://piazza.com/uci/winter2017/compsci167/home
· Readers/TAs: Jiayu Xu and Boyang Wei, Donal Bren Hall, room 4039, emails jiayux and boyanw1 (at) uci.edu.
50% homeworks, 20% midterm (on Tuesday, Feb 14!), 30% final
· You may collaborate on the homeworks, but in groups whose size does not exceed two students. (If you want to work in a larger group you need an explicit permission of the instructor.)
· Each student must write down their solution on their own own. If you collaborated with someone else on the homework, you must list the name of this person on your homework as your collaborator.
· Similarly, if you consulted any other source while solving a homework problem, e.g. a book or on-line lecture notes, you must list this source clearly on your homework. It is a violation of an academic policy to consult any source on your homework without giving them a proper credit.
· Any extra credit question on the homework must be solved individually.
· Homework will be due on the due date in class.
· Extensions: each student has a total of 72 extension hours throughout the quarter. This automatic extension can be spent in units of 24 hours on any of the assignments and projects. Please mark the submission time for any late assignment. There will be no additional extensions.