Secure Systems from Decentralized Trust

Course Organization and Policies

Grading

Grade will be assigned as:

  • Final project 45%
  • Reading assignments 25%
  • In-class presentation 20%
  • In-class participation 10%

Assignments

Readings: Each class will have a set of assigned readings, accompanied by questions. You are not required to read the additional reading(s) assigned to the presenter. Please summarize each reading into 1-2 paragraphs and answer the questions and submit the text at cs294-163@berkeley.edu before the start of the corresponding lecture. Send these all in one email (in the body, plaintext), whose subject should be the date of the lecture they are about "Reading MM/DD". Your full name should be apparent in the from field or in the email. You are allowed 2 free skips; save them for emergencies.

Class discussions: Students are expected to attend lectures (preferably in person) and to engage actively in class discussions.

Class presentation: Typically, each class will start with the instructors giving the relevant background and setting the stage for a productive discussion on the assigned readings and other papers to be covered. This will be followed by a group of students (2-3) presenting the papers in more detail. Each presentation should last about 40 mins, and the presenter should keep the last few minutes (~10) for discussion and feedback; discussion can also be interspersed throughout the talk. Refer here for helpful tips on preparing your presentation.

Final project: An important component of the class is the final project. You're expected to form teams of 2-3 people and perform independent research. All projects are expected to consist of a team of at least 2 people who are taking this class (exceptions require special approval from the course staff; make sure to request the approval in advance). If you have trouble finding a project partner, please use Ed to find partners. Please refer to the pinned post of final projects on Ed Stem for instructions for the final project as well as final project ideas.

Resources

There is no required textbook for this class. You can refer to the Berkeley CS161 textbook to refresh on security concepts and A Graduate Course in Applied Cryptography for cryptography.

General guidelines for paper reading: We give some general guidelines on how to read research papers for this class (and for research in general). Not every section/paragraph/claim/experiment/contribution of a research paper is equally important. Papers can be quite long and one can find themselves lost in details to the point that they miss the main insight in the paper (e.g., what makes this paper different from related work). Therefore, while reading, one should try to stick with the main contributions and should be ready to accept some claims (like theorem statements, or some background knowledge) at face value in order to keep making progress through the paper. These claims can later be verified once the rest of the paper has been properly absorbed. Some example parts that can be worth skipping during the first pass of the paper include material in appendix, and proofs to theorems. If time permits and there is sufficient interest, one can come back to these skipped parts later to better (and more deeply) understand the paper. While reading a paper, you should ask questions to yourself - what is the problem they are trying to solve, why is this non-trivial, where do prior works fall short, what is the proposed solution, how it solves the problem, what are the trade-offs (more often than not, a proposed solution will present a trade-off - it will provide one property at the expense of another; like more computationally efficient but requiring more bandwidth, or providing new properties but by relying on non-standard or new cryptographic assumptions which haven't yet stood the test of time, etc.), how much better is proposed solution compared to state-of-the-art (this is usually present in the evaluation section), what are some limitations, what are some open problems for future research, why the authors chose a specific design, what is the main insight, etc. Answers to most of these questions won't require you to go through formal security proofs and appendices. Not stressing too much about the math can in some cases help you make a very effective first pass over the paper where you digest high-level ideas, and then you can make a more in-depth pass where the high-level ideas from the first pass can help you understand the math more easily. Getting bogged down with the syntax, math, proofs, precise formalism, etc. can prevent you from understanding the real meat of the paper and make you frustrated. Sometimes going over the presentation videos or slides of the paper can be a great first step before starting to read the paper. Please refer here for a more formal advice on how to read CS research papers; pay particular attention to "Step 2 Seige!".