CS 178: INTRODUCTION TO CRYPTOGRAPHY (Spring 2022)

Logistics

Instructor: Prabhanjan Ananth

Time: Mondays and Wednesdays, 9:30am to 10:45am

Location: 1940 Buchanan Hall

Office Hours: Mondays and Wednesdays, 10:45am to 11:15am

First Lecture: March 28, 2022

Teaching Assistants: Fatih Kaleoglu and Achintya Desai

Announcements will be made on Piazza/Slack. The link to the discussion forums will be made available to students registered in the course. You can also get the link if you attend the first lecture: please don't email the instructor/TAs for the link before the first lecture.

Course Information

Course Description: In this course, we will learn how two parties can securely communicate with one another without leaking information to an eavesdropper. We will also study mechanisms that enable parties to authenticate their data.

Course Prerequisites: Discrete mathematics (CS 40). Being comfortable with reading or writing proofs is a plus.

Course Evaluation (tentative): 3 to 4 assignments (40%), 1 midterm (30%) and a final project (30%). The assignments will be a combination of programming assignments and writing proofs.

Course Materials: We will roughly follow material from the book by Jonathan Katz and Yehuda Lindell. However, you can follow the course even if you don't have the book as long as you attend the lectures. Useful online materials available for free:

Tentative Course Schedule


Part I: Private-key Encryption Schemes

(This is estimated to take about 4 weeks.)


Relevant chapters in Katz-Lindell: Chapters 1,2,3 and 7.


Part II: Hash Functions

(This is estimated to take about 2 weeks.)


Relevant chapters in Katz-Lindell: Chapter 5.


Part III: Public-Key Encryption Schemes

(This is estimated to take about 3 weeks.)


Relevant chapters in Katz-Lindell: Chapters 8, 10 and, 11.


Part IV: Digital signatures

(This is estimated to take about 1 week.)


Relevant chapters in Katz-Lindell: Chapter 12.