CS 276: Cryptographic Systems


Instructor Calvin Deutschbein (503) 370-6486
Room Ford 102 & YouTube
Office Ford 307, Discord & Zoom by appt. Time TTh 2:50 PM - 4:20 PM

Course Description

A semester-long study of topics in Computer Science that specifically includes a collaborative programming project that applies or extends the content of CS 152 or more advanced classes.

Systems research joins together the theory and the practice of computing, and cryptography is a perfect microcosm of this dynamic. As a guided study of low-level implementation of computer systems, this course will study the RSA and SHA cryptographic at once in theory and practice, and then build these cryptographic elements into emergent systems using data structures and algorithms such as Merkle trees and blockchains.


Optional Text

The C Programming Language Brian Kernighan & Dennis Ritchie

A Graduate Course in Applied Cryptography Dan Boneh & Victor Shoup


Assignments and Assessment

Assignments in this course will have the sole purpose of student learning. For assessment:

  • Students will begin the course with a grade of an "A".
    • Students will be expected to attend class.
    • Students will be expected to participate in class.
    • Students will be expected to treat fellow students with respect.
    • Students will be expected to complete assignments.
  • Students will be contacted privately by the course instructor in the unusual event they are not meeting expectations.
    • Students will not have an expectation of perfection.
    • Students will not lose points or a grade without discussion.
    • Students will have a chance to explain their engagement with the course.
  • Students will receive feedback collectively from the instructor and individually from peers.
    • Students will be entitled to individual feedback from the instructor at any time.
    • Students will receive narrative rather than quantitative feedback.
    • Students will receive positive and constructive feedback only.
  • Students will take a midterm to support improved course design & content delivery.

Student Learning Objectives:

Upon completion of the course, students should be able to:

  • Differentiate confidentiality, integrity, and availability.
  • Apply modular arithmetic to computational systems.
  • Articulate the impossibility of distributed consensus.
  • Apply recursion and a pointers to programming problems.
  • Understand a low-level systems programming language and its uses.

This course is decomposed structurally into two modules: a module on crytography, which explores mathematics, principles of cybersecurity, and beginning usage of a low-level systems programming language, and a module on cryptocurrency, which explores advanced algorithmic problems of recursion and distribution consensus and the applications of systems programming.


Late Work Policy

Late work is not accepted.

I reserve the right to extend deadlines to the entire class, in the students' favor, at any time.

The purpose of the policy is learning-oriented rather than assessment oriented, so as a rule exceptions are not granted even in the case of a "good excuse" - the best learning outcome is almost always to turn in partially complete assignments and start the next assignment early.


On Academic Honesty

Write your assignments yourself and cite what resources you used.

Online Resources Policy

Use of online resources - such as Stack Overflow, W3Schools, Wikipedia, GeeksforGeeks, Github, Reddit, YouTube, and TikTok - is permitted on assignments in this course.

Collaboration Policy

Collaboration with peers is permitted on assignments in this course. You are responsible for ensuring that peers are comfortable working with you via enthusiastic consent. Simply put, enthusiastic consent means looking for the presence of a “yes” rather than the absence of a “no.”

AI Policy

AI usage is permitted on assignments in this course. AI is signficantly less mature at systems programming than at scripting, such as in Python or JavaScript, and its usage is not encourage (or discouraged) in this course.

College Policies

The following material is adapted from “Information for Syllabus” recommended language on syllabus prepartion provided to instructors in the College of Arts & Sciences and represents the views of the instructor's employer other than minor edits for clarity and sensativity.


Time Commitment

Willamette’s Credit Hour Policy holds that for every hour of class time there is an expectation of 2-3 hours’ work outside of class. Thus, for this class you should anticipate spending 6-9 hours outside of class engaged in course-related activities. Examples include reading course materials, preparing for discussion, preparing and writing papers and exams.


Academic Integrity

Students of Willamette University are members of a community that values excellence and integrity in every aspect of life. As such, we expect all community members to live up to the highest standards of personal, ethical, and moral conduct. Students are expected not to engage in any type of academic or intellectually dishonest practice and encouraged to display honesty, trust, fairness, respect, and responsibility in all they do. Plagiarism and cheating are especially offensive to the integrity of courses in which they occur and against the College community as a whole. These acts involve intellectual dishonesty, deception, and fraud, which inhibit the honest exchange of ideas. Plagiarism and cheating may be grounds for failure in the course and/or dismissal from the College. Read more.


Classroom Conduct

As an educational institution, the College of Arts & Sciences is committed to supporting the ideals and standards that help create a constructive and healthy learning community. That requires, among other things, encouraging positive classroom behaviors, discouraging disruptive classroom behaviors, and setting clear standards for both of those things.

Constructive classroom behaviors are those that support learners and teachers in an environment that promotes trust, respect, and collaborative learning.

Disruptive classroom behaviors are those that undermine or interfere with the abilities to learn and to teach. Clear examples of disruptive behaviors include, but are not limited to: interrupting others or persistently speaking out of turn; distracting the class from the subject matter or discussion at hand; making unauthorized recordings or photos of a class meeting or discussion (except as permitted as part of an Accessible Education Services-mandated accommodations); and in extreme cases, any physical threat, physical, psychological, sexual harassment, ridicule, or abusive act towards a student, staff member, or instructor in a classroom or related setting.

DACA/Undocumented Student Advocate

Willamette is committed to supporting our DACA/Undocumented students in a variety of ways. This year, Emilio Solano, Assistant Provost for Institutional Equity and Community Engagement, is the contact person for all DACA/undocumented students. Emilio can provide those students with a number of external and internal resources that are available. His contact information is easolano@willamette.edu, Office: 302 UC, Phone: 503-370-6027.


Commitment to Positive Sexual Ethics

Willamette is a community committed to fostering safe, productive learning environments, and we value ethical sexual behaviors and standards. Title IX and our school policy prohibit discrimination on the basis of sex, which regards sexual misconduct — including discrimination, harassment, domestic and dating violence, sexual assault, and stalking. We encourage affected students to talk to someone about their experiences and get the support they need.

Please be aware that as a mandatory reporter I am required to report any instances you disclose to Willamette’s Title IX Coordinator.

If you would rather share information with a confidential employee who does not have this responsibility, please contact our confidential advocate at confidential-advocate@willamette.edu. Confidential support also can be found with SARAs and at the GRAC (503-851-4245); and at WUTalk - a 24-hour telephone crisis counseling support line (503-375-5353). If you are in immediate danger, please call campus safety at 503-370-6911.


Trans Inclusion and Gender Justice

I am always appreciative of the opportunity to address you by your preferred/affirming name, pronouns, and any other gender or identity markers. Please advise me of this at any point in the semester so that I may may best respect you at all times.

If I ever misgender or misidentify you in any way, I would greatly appreciate that you let me know, in whatever manner makes you comfortable, so that I can correct my error and work to repair any harm I have caused you.


Religious Practices

I am always appreciative of the opportunity to work with you to achieve the best possible accommodation for your religious practice. Please let me about course conflicts with holy days or any other religious practice so we can work together to achieve an ideal outcome.

Diversity and Disability Statement

Willamette University values diversity and inclusion; we are committed to a climate of mutual respect and full participation. My goal is to create a learning environment that is usable, equitable, inclusive and welcoming. If there are aspects of the instruction or design of this course that result in barriers to your inclusion or accurate assessment or achievement, please notify me as soon as possible. Students with disabilities are also encouraged to contact the Accessible Education Services office in Smullin 155 at 503-370-6737 or accessible-info@willamette.edu to discuss a range of options to removing barriers in the course, including accommodations.


SOAR Center Offerings: Food, Clothing, and School Materials

The Students Organizing for Access to Resources (SOAR) Center provides free, confidential, and equitable access to food, toiletries, professional clothing, textbooks and scholarly resources for all WU and WU-affiliated students. The SOAR Center is located on the Putnam University Center’s third floor. The space houses the Bearcat Pantry, Clothing Share, and First-Generation Book Drive and is maintained by committed students and advisors. Please check www.willamette.edu/go/soar for current hours of operation and email soar-center@willamette.edu for any questions or concerns.


Handle with Care Policy

If you have a day that you are able to be in class but feel that you cannot participate and engage as you usually do, all you need to tell me at the start of class is “handle with care.” You can do this via an email, a direct message via zoom, a note left on my desk, or a quick, private verbal exchange at the start of class.

What asking to be handled with care means for class: You will not be called on (I do not call on people that are not volunteering as a general rule, but I want to remind you of that fact). You will not be asked to turn on your camera if we are meeting via Zoom. You will not be asked to provide any information or context. I do not need to know why you need to be handled with care, but here are some examples of why you might ask to be handled with care:

  • Illness
  • Stress/Anxiety
  • Things happening at home within your community
  • Things happening with your partner/break up
  • Things happening within your school family/Willamette community

If we are completing small group work and a student requests engagement from a group member and gets the response “handle with care,” all group members must respect that request and may not ask any follow up questions.

I have this policy because I know that it can sometimes be hard to be in class but it may be even more stressful to miss class. Also, sometimes class can be a welcome distraction when you have negative things going on so you want to go to class but are worried about holding it together if participating/engaging.