Cryptography and Network Security (CS60065) Autumn 2020

This course introduces the principles and practice of cryptography and network security.  It aims to teach you the foundational principles of cryptographic algorithms and how to think like an security practitioner. We will cover topics like need for cryptography, the evolution of cryptography, modern encryption-decryption algorithms. Further, we will have an overview of network security -- the threat models,  security in internet scale systems, protocol based attacks, DDos attacks and defenses etc.  We will also cover elements of encrypted communication, anonymous communication and censorships in modern networked systems along with their ethical, legal and privacy issues. The goal of this course is to give you a foundation for further study cryptograpphy and network security and help to you to better understand how can you design primitives to build secure systems. See the course schedule for details.


Instructors


TAs


Course Information

Prerequisites We will use broad concepts from Discrete Structures and Linear Algebra. For the Network Security part the students are expected to have basic knowledge of Computer Networks.
Lectures Lecture timings are:

Wednesday 12:00 - 12:55 pm
Thursday 11:00 am - 11:55 pm
Friday 09:00 am - 10:55 am
Saturday 12:00 noon - 1:30 pm (extra slot)

However, this semester we will conduct the course online with a mix of live lectures, pre-recorded course videos and online doubt clearing sessions. Please keep and eye on the Schedule page for the latest updates. 
Textbook We will be using:

1. Cryptography Theory and Practice, Third Edition, by Douglas Stinson
2. (freely available) chapters from Computer Security and the Internet: Tools and Jewels by Paul van Oorschot
3. publicly available research papers.
Coursework The coursework for all students consists of semi-regular quizzes/vivas and take-home assignments.

Communication We will update the course schedule regularly throughout the course.

Assignment / Scribes / Quizzes

  • Current plan is to both distribute and collect the regular quizzes via CSE Moodle. Please join the course there. Use the access code mentioned in class.

Live lectures / recordings

  • Note that you NEED TO join the Microsoft teams classroom titled "Cryptography and Network Security" for this course. We will also share the recordings (as well as recorded lectures) of the lectures via Microsoft Teams. We already added the students registered on ERP (as of 31/08) in Microsoft teams. Drop the instructors an email ASAP if you cannot access the Microsoft teams classroom.
  • Live lectures will be delivered via Zoom. We will use with the "live lecture" channel on Microsoft teams for live lecture related announcements (e.g., the zoom id/password). Please check that channel regularly.
  • We will also include links to pre-recorded lectures in the "Required Readings and Videos" section of the course schedule. Please check it regularly.

General discussion

  • We'll use Microsoft Teams for general discussion and questions about course material.
  • You should already have the account username and password to log into Microsoft teams. If you cannot access the  Microsoft teams classroom titled "Cryptography and Network Security" please let the instructors know as soon as possible.
  • If you need to reach out to the instructors (e.g., pertaining to an illness or other events that might be impacting your performance in class), please send a private chat on Microsoft Teams visible only to the instructors. Please use the Microsoft teams chatroom (and channels) to discuss publicly with your peers in real-time.
  • Please try to keep all course-related communication to Microsoft Teams rather than email.
Late policy We will accept the take home assignments/scribes 24 hours late with a 15% penalty. Assignments more than a day late will not be accepted without a previously approved extension.

Of course, in exceptional circumstances related to personal emergencies, serious illness, wellness concerns, family emergencies, and similar, please make the course staff aware of your situation and we will do our best to find a mutually agreeable solution.

Grading

Your course grade will be calculated as follows:
Programming assignment 35%
Three exams
55%
Scribe
10%


Honor code

You are permitted to talk to the course staff and to your fellow students about any of the problem sets. Any assistance, though, must be limited to discussion of the problem and sketching general approaches to a solution. Each student must write out his or her own solutions to the problem sets. Consulting another student's solution is prohibited, and submitted solutions may not be copied from any source. These and any other form of collaboration on assignments constitute cheating.

No collaboration is permitted on quizzes or assignments. All work submitted for the project must properly cite ideas and work that are not those of the students in the group. Simply stated, feel free to discuss problems with each other, but do not cheat. It is not worth it, and you will get caught. In that case, we will be forced to award you no marks for that assignment/quiz/project, take away 50% of your total final marks and you will risk deregistration.

Wellness

If a personal emergency comes up that might impact your work in the class, please let the instructors know via a private chat message (to all the course instructors) so that the course staff can make appropriate arrangements. We are going through unprecedented times and circumstances can sometimes be very overwhelming, and all of us benefit from support during times of struggle. You are not alone.