Anonymous feedback

At any point during the course, you are welcome to send us anonymous feedback via this form. You can use the form at any time, for any reason -- to report part of the course you liked or didn't like, or to suggest ways that we could improve our teaching.


We will have one in-class quiz on the date listed on the course calendar. The quiz will test your knowledge of material from lectures, problem sets, and readings. There is no final exam. No collaboration is permitted on the in-class quiz. This quiz is open book and open notes. You may bring electronic devices preloaded with digital notes or handouts or textbooks, but you may not use the Internet during the quiz -- your wi-fi and other network connections must be disabled during the quiz. We encourage you to prepare for the quiz by discussing course material with your classmates.

Communication with course staff

Please use private Piazza posts to communicate with course staff about all matters related to course material, problem sets, projects, etc. If you have a question that is sensitive and that you do not feel comfortable sharing with the TAs, please feel free to email the course instructors directly.

Problem sets

We will distribute four problem sets on approximately a biweekly basis, and they will be due about two weeks later. See the course calendar for the due dates for the homework assignments.


Homework templates are available here. You MUST typeset your homework assignments using LaTeX. Please list your group members on your assignment.

We will use Gradescope for homework submission. Please start each problem (and sub-problems, where relevant) on a new page. Gradescope will let you assign markers to the pages of your submission; please do so to facilitate the grading process. Once graded, the TAs will return marked homeworks and will, when possible, post example solutions.

Homework groups

This is a group-oriented course. You will complete each problem set in groups of two, three, or four other students. For the first three problem sets, the course staff will assign you to a group. Please notify the TAs via a private Piazza post if you have not registered for the class, otherwise we will not know to put you in a group. For the last homework, you may work in groups of your own choosing.

You may freely discuss the problem-set problems with your group members. However, you must write up your solutions on your own and not with your group members' help. Some people call this the "Gilligan's Island Rule:" after discussing the problem set with your group members, you should go watch an hour of mind-numbing TV/YouTube before starting to write up your solutions. That way, you can be sure that the write-up is coming from your own brain and not directly from your group-mates' brains.

If the course staff is concerned that you might not have completed the assignment on your own, we may ask you to explain your solutions to us in person.


You MAY collaborate with your homework-group members as you are completing the problem sets. You MAY NOT collaborate with anyone outside of your homework group on the problem sets.


You may use any reference material to complete your homework assignments, including material on the Internet and material from previous years. If you do so, you MUST cite all of your sources properly. In most of your solutions, we will expect to see citations. In this class, as elsewhere in life, it is extremely important to remove the possibility that someone will misconstrue another's work as your own.

When we have found instances of plagiarism and/or unauthorized collaboration in the past, we have given reduced or failing grades for the class (not just for the particular assignment), reported the incident to the Dean for Student Affairs, and/or filed a complaint with the Committee on Discipline.

Late assignments

We realize that situations come up that may cause you to submit assignments late. The following late-assignment policy applies to all problem sets and to the components of the final project except for the project presentation and final project report -- see below for those.

We cannot typically offer extensions on the due date for the final-project report, since we need time to grade the reports before grades are due to the registrar. For scheduling reasons, we cannot typically offer extensions on the final-project presentations either. In the exceptional case that you need an extension on the project presentation or final report, please contact S^3 and have your dean there email the course staff so that we can figure out a plan.

Final project

You will complete the final projects in groups of two, three, or four students. You should form a final project team by the date listed on the course calendar. Your project group need not be the same as your homework groups, although it can be if you like.

Students who need help finding a project group should contact the staff. To keep groups running smoothly, you should ensure that your fellow groups members are actively participating and should communicate regularly. If you cannot resolve group problems, please contact the TAs via a private question on Piazza. If necessary, it is possible to dissolve and reform groups with permission of the TAs and mutual consent of the group members (or sufficient reason as the course staff determines).


The work we expect from you for this course includes: problem sets, a quiz, and the final project.

Grades are weighted as follows:

We will have four problem sets. For additional flexibility, we will weight each problem set depending on your relative performance on it, using the following scheme: your highest pset grade is re-weighted to have 16 as a max score, the second-highest pset grade is re-weighted to have 12 as a max score, the third-highest pset grade is re-weighted to have 8 as a max score, and your lowest pset grade is re-weighted to have 4 as a max score. So, the total scores add up to 40, but they are weighted in a 4-3-2-1 proportion.

Computing Ethics

This is a course on Applied Cryptography and Security. Although the course is primarily concerned with cryptographic techniques that are designed to increase the security of networks and computer systems, a proper understanding of those systems requires that you be versed in their vulnerabilities and failings as well.

Nevertheless, unless you have explicit written authorization from the owner and operators of a computer network or system, you should never attempt to penetrate that system or adversely affect that system’s operation. Such actions are a violation of MIT policy and, in some cases, violations of State and Federal law. Likewise, you should refrain from writing computer viruses, worms, self-reproducing code, or other kinds of potentially damaging software for this course unless you have explicit, written approval for the specific type of software that you wish to create. These kinds of programs are notoriously difficult to control and their release (intentional or otherwise) can result in substantial civil and criminal penalties.

In particular, term projects involving an evaluation of security of existing commercial products or systems need the approval of the course staff, who generally will require that you obtain permission from the vendor/supplier (depending on the nature of your proposed evaluation). The TAs can supply a "template" letter for asking for such permission from a vendor.

We strongly recommend that you consult the Athena Rules of Use and Section 13.2 of the MIT Policies and Procedures “Policy on the Use of Information Technology". Finally, we recommend that you read and review the ACM Code of Ethics and Professional Conduct.

We expect all students in this class to follow the guidelines presented in this document, and in the documents just cited. If you are in doubt about the legality or ethics of any activity related to this course, please consult the staff before undertaking any such activity.

MIT Support Resources

Stressful situations will almost certainly come up for you at some point during this semester. Please take advantage of MIT's excellent student-support resources listed below.

The first place to go is Student Support Services (S^3). They are extraordinarily helpful and trustworthy folks and will be able to connect you with the right resources at MIT to solve whatever problem has come up.

We also strongly recommend that you contact Student Mental Health and Counseling Services if stress or anxiety is affecting your ability to enjoy life. (If you are feeling sad or hopeless, if you are not enjoying activities that you usually like, or if you are sleeping not enough or too much: the folks at S^3 and/or student mental health can help you out! You should also always feel free to contact the course staff directly by email for help.)

Graduate students
As for undergraduates, Student Mental Health and Counseling Services is the place to go if you are experiencing stress or anxiety that is affecting your happiness. For academic issues, GradSupport is the place that grad students can go for help with "faculty/student relationships, changing your advisor, conflict negotiation, funding, academic progress, interpersonal concerns, and a student's rights and responsibilities."
Postdocs and staff
MyLifeServices is an incredibly useful resource for help with basically anything. If you are having trouble with something -- whether it's mental health issues or legal issues or financial issues -- they can put you in touch with resources that can help.

Course website design courtesy of PDOS and Katrina LaCurts.