Introduction to Cryptography

Course Description: In early days, the main goal of cryptography was to protect communication between parties during war time. Today, the fold of cryptography has significantly widened. It has become a rich area that systematically harnesses well-studied computationally hard problems to build useful applications for a variety of tasks, such as, to protect communication, or computation or to help proving knowledge of a secret without revealing any information about the secret and many others. 

This course will:

The course is theoretical in nature employing basic concepts from a number of areas in theoretical computer science. The main prerequisite is essentially mathematical maturity and if you have taken a course or two covering some subset of topics such as algorithms, probability, discrete mathematics, theory of computation and linear algebra then you are more than equipped to take on the learning curve. If you haven't taken any of these courses, and would still like to enroll, email the instructor to discuss your background. 

Piazza and Gradescope: We will use Piazza for discussions and Gradescope for evaluation.  Here is the gradescope link to the course. The entry code will be announced separately in the class and mailed separately to all of you. Here is the Piazza link to the course. The access code will be announced in the class and mailed separately to all of you as well.


Course Evaluation: There will be 5 homeworks (10% each), one in-class mid-term and one final (25% each). The midterm will take place in class on October 12, 2023. The date for the finals will be announced at a later time. 


The homeworks will typically have a duration of 2-3 weeks for you to finish. The deadlines for them will be mentioned in the class and posted here. The submission of various assignments will be through Gradescope. We expect that the solutions should be typeset in LaTex.  Here is the latex template that you could use for HWs.  As a policy, we will allow for 5 days of late submission in total for all of your homeworks combined. If you require special considerations for valid reasons for missing a homework or an exam, please contact the instructor.

Aside from these core components there are a few opportunities for extra-credit (up to 5%) which will not affect the grading curve. For the undergrad offering, the extra-credit would be awarded based on overall class participation. If you are fairly regular to the class, ask and raise good discussion points and answer questions in the class and on Piazza, these credits could be yours!

For the graduate offering, these credits could be yours if you scribe one lecture on select topics. This year we will introduce a new module not taught in the previous offerings and we are looking for students to write high quality notes on the topic similar to the lecture notes compiled during the previous offering of this course.


Collaboration Policy: For HWs, you are permitted and even encouraged to work in groups of a maximum of three. However, the point of the collaboration is to simply brainstorm and discuss the concepts/solutions. All of you must write your own solutions at the end. Copying from one another could have serious consequences and would be dealt according to the university plagarism policy. Your solutions should be in your own words and should demonstrate your thought process for arriving at those solutions. 


You are also required to follow good principles for academic credit. Always mention your collaborators on your submission. If you end up referencing a paper for any component of this course, do cite the paper. 


Hunting for solutions on the internet, or through any other unlawful means is strictly prohibited (this means that you can't use Chat GPT/LLMs).


Lecture Schedule: Here.


Other Reading Materials: We don't have a prescribed textbook for this course. We will largely follow the outline similar to the previous offering of this course taught by Vipul Goyal with some differences in the content. Here are the course notes from the previous offering. In addition, references would be provided for different topics we cover in the class. 

Some popular textbooks/notes: