COMS 4261: Introduction to Cryptography

    Spring 2022

Lecture Summaries | Required and Suggested Reading | Prerequisites | Grading and Policies | Homework | Quizzes | Courseworks | Gradescope | ed discussion board | Class calendar

Announcements


General Information

This is a three-credit graduate level course. It can be credited to all degree programs, subject to advisor approval.  It is also a theory elective for the PhD program in computer science, a suitable elective for the MS foundations or security tracks, and a foundations track elective for undergrad CS majors.

Section 002 meets Tuesdays and Thursdays 8:40-9:55.
Section 001 meets Tuesdays and Thursdays 10:10-11:25.
Both sections meet in 633 Mudd. All lecures in the first two weeks will be online, you can find the zoom link through courseworks (open to all Columbia students during the shopping period).
Due to covid, in-person attendance is not required, but encouraged (as long as it is safe to do so). Section 001 lectures will be recorded by CVN, and the recordings will be made available to all enrolled students, through courseworks.

Communication: We will be using gradescope and edstem, both accessible from courseworks. Announcements will be sent by email through courseworks, as well as posted on this webpage.
For any administrative issues email 4261spring2022teachingstaff at gmail dot com (reaches the instructor and teaching staff), or if it's a sensitive issue you may email the professor directly.
For questions about the material (lectures, homeworks, etc) use the edstem discussion board.
Regrade requests should be submitted in writing through Gradescope, within one week after the assignment is returned.

Teaching Staff and Office Hours

The full schedule for office hours can be found here. The times listed are for all sections (including CVN) and should be synced to your time zone automatically. This schedule is fairly regular, although it may differ slightly from week to week. Be sure to check the calendar when planning to attend office hours. Office hours are virtual as long as instruction is virtual; when instruction is in-person, office hours will be a mix of virtual and in person (check calendar for details and location). Unless otherwise noted, virtual office hours will be hosted on the following zoom link (note that this is different from the zoom link for classes and review sessions!)

The names of the teaching staff are listed below, together with their typical office hours. You can reach us by emailing 4261spring2022teachingstaff at gmail dot com (please use that for administrative issues -- class content issues should be posted on edstem)

Instructor

Teaching and Course Assistants

Class Description and Syllabus 

Lectures and Readings

This course is an introduction to modern cryptography.  In general, cryptography aims to construct efficient schemes achieving some desired functionality, even in an adversarial environment.  For example, the most basic question in cryptography is that of secure communication across an insecure channel: Can Alice send a message to Bob so that Bob understands the message, but no eavesdropper does?   How can Bob be sure that the message received was sent by Alice?  Another question is that of secure computation in an insecure environment:  Can a group of parties perform some distributed computation (e.g., coordinate an attack, or tally a vote), so that an adversary controlling the communication channels and some of the parties cannot disrupt the computation or learn extra information?  

While cryptography is an ancient field, the emergence of modern cryptography in the last few decades is characterized by several important features distinguishing it from classical cryptography.  For one thing, the availability of computers and the wide spread of networked information systems and the Web, has dramatically increased both the need for good cryptography, and the possibilities that it can offer.  In addition to the classical military and national security applications, a wide scope of financial, legal, and social cryptographic applications has emerged, from using a credit card on-line or sending an encrypted email, to more ambitious goals of electronic commerce, electronic voting, contract-signing, database privacy, and so on.  The most important characteristic of modern cryptography is its rigorous, scientific approach, based on firm complexity-theoretical foundations.  In contrast to the classical approach based on ad-hoc solutions (design a scheme that seems very hard to break, and hope for the best), modern cryptography aims for specific, rigorously quantifiable security guarantees,  based on precise mathematical definitions and provably secure protocols.

What You Will Learn in This Class (Hopefully!)

The principles and techniques underlying the above will be illustrated through specific examples drawing from the basic cryptographic primitives.  Through these examples, which are very important on their own, you will also learn to critically evaluate and interpret cryptographic definitions and security proofs (i.e., what is and what is not guaranteed?).  
While the class will focus on the theoretical foundations, we will discuss the relation to how things are actually done in practice.
The material covered in the class should prepare you to make sense of some current research papers in cryptography, and to study further on your own (or take an advanced class).  Opportunities for research under my supervision may be available for interested students who do well in the class.

Tentative List of Topics 

The following is an ambitious list of topics to be covered.  Depending on time, some of the topics will be omitted.

What You Will Not Learn in This Class

The following topics are outside of the scope of this class.

Required Text

We will use the book “Introduction to Modern Cryptography” by Jonathan Katz and Yehuda Lindell, Chapman and Hall/CRC Press, 3rd edition. This book will be on reserve in the science and engineering library.   Recommendations for some other textbooks (not required) appear here

Prerequisites

The following skills will be assumed:

It will also help to have background in at least some of the following areas:

These topics will be briefly covered in class as needed, but if you do not have any background in any of them, you are likely to find it hard to keep up.

The appendix of the textbook reviews some background, and additional references for background reading can be found here

Grading and Policies

The grading will be based on homework (50%), quizzes (15%), and a cumulative exam (35%) (tentatively on Tue May 10 at 9am, but this is not final yet).
Students are expected to attend class, and to carefully go over each lecture before the next one. There will also be some required readings assigned, that the students will be responsible for.


All students are presumed to be aware of the departmental policy regarding academic honesty.