Policies

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.

Quiz

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.

Formatting

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.

Collaboration

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.

Plagiarism

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 or unauthorized collaboration, we give a zero on the entire assignment and reduce the offending students' final grade in the class by at least one full letter. In addition, we may give the student an F for the entire course, report the incident to the Dean for Student Affairs, and filed a complaint with the Committee on Discipline.

AI assistants (GPT and friends)

You may use ChatGPT or other AI assistants for both the problem sets and final project. If you use one of these tools, you MUST explain (inline in the text you submit) what you used it for. If you use output of one of these tools directly, you must quote the text and provide a citation, as you would with any other external reference.

If you use an AI tool to such an extent that it is not clear to us that you meaningfully contributed to the work, we may mark your grade down to reflect that.

Whether or not you use an AI tool, we may ask you to explain your work to a member of the course staff to ensure that you understand the reasoning behind your answers.

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.

If you turn in an assignment more than 48 hours late without an excuse from S^3 or your advisor, we will reduce your grade on that assignment by one full letter grade for each day it is late, in multiples of 24 hours.

Grading

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. 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.

Undergraduates
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."

Course website design courtesy of PDOS and Katrina LaCurts.