Course Syllabus
CSCI 5471: Modern Cryptography
Fall 2025
3 credits
TTh 1:00-2:15pm
Rapson Hall 45
Course Staff
Instructor:
Nick Hopper
hoppernj@umn.edu
TAs:
Listed on course staff page.
Office Hours can be found on the course google calendar.
Course Overview
This is a graduate course on Modern Cryptography. This course introduces basic concepts in cryptography and discusses both its theoretical foundations and practical applications. Various threats, attacks and countermeasures on cryptosystems, cryptographic protocols and their implementations will be addressed. The course will cover: brief history of cryptography, encryption (conventional and public key), digital signatures, hash functions, message authentication codes, identification, authentication, and their applications.
Goals and Objectives
At the end of the course you should be able to:
- Evaluate evidence for the strength of a cryptographic primitive or protocol.
- Produce evidence, by the standards of the field, for the strength of a cryptographic protocol.
- Recognize common vulnerabilities in cryptographic protocols and implementations.
- Choose or design appropriate cryptographic protocols and implementation tools for security tasks.
Prerequisites
The first listed prerequisite for this course is an undergraduate course in algorithms. At UMN, this course is CSci 4041. More generally, however, we will expect students to have the skills of someone who has (mostly) completed an undergraduate computer science major. In particular, students should be able to write and debug programs in some mainstream programming language by themselves - it is not a proper use of the instructor or TA's time to help get your code running.
The second intended prerequisite for this course is "upper division mathematics content." You should be comfortable working with mathematical proofs and definitions much more involved than those you encountered in discrete mathematics. Some examples of courses at UMN that would develop skills of this type are CSCI 4011 (Theory of Computation), MATH 4281 (Modern or Abstract Algebra), or MATH 4603/5615H (Real Analysis). Students must possess mathematical maturity, including the ability to understand and write mathematical arguments that span multiple pages of text: modern cryptography is fundamentally concerned with proofs, rigor, and mathematical models. We expect students to put in time outside of class to master the concepts presented in class; and we expect students to be resourceful: if a topic is mentioned in lecture along with a name, you can probably learn more using, e.g. google.
Lecture Schedule
The course canvas site includes a schedule of lectures and other deadlines for this course. The schedule includes the readings related to each class. Students are responsible for reading the appropriate materials before the lecture; we will not cover all of the reading material in the lecture but it will appear on homeworks and exams. Lecture slides and recordings will be linked from the schedule shortly after the corresponding lecture.
The course will be divided into five subtopics:
- Introduction: historical versus modern cryptography, basics of number theory and probability, introduction to cryptographic security definitions and pseudorandomness.
- Symmetric Encryption: stream ciphers, block ciphers, chosen-plaintext attacks and modes of operation.
- Symmetric authentication: hash functions, message authentication codes, and security against chosen ciphertext attacks.
- Public-Key cryptography: Key exchange, Diffie-Hellman and discrete logarithms, Elgamal encryption, RSA function and factoring, Hybrid encryption and chosen-ciphertext security, post-quantum cryptosystems
- Signatures and protocols: RSA-based signatures, discrete log signature schemes, post-quantum signatures, certificates and network protocols, multiparty cryptography, zero-knowledge proofs.
Textbooks
There are two required textbooks for this class:
- Katz and Lindell, "Introduction to Modern Cryptography , Revised 3rd edition" Routledge / CRC, 2025. This is a traditional textbook, with exercises and examples, heavily biased toward the theoretical aspects of Cryptography.
- Menezes, van Oorschot, and Vanstone, "Handbook of Applied Cryptography," CRC Press, 1997. This is more of a reference work, with a slight bias toward applications. It is somewhat dated, but is available for free on-line
Grading
Grading for this course will be based on the following components:
- Homeworks: For each of the 5 lecture "sub-units" there will be a homework requiring you to apply the materials covered in this unit. Successfully completing these homeworks will require both mathematical maturity and programming experience, and will require students to engage with materials not covered in lecture. Homeworks and their due dates are posted on the class schedule. Students may work in groups of size at most 3 on the homeworks, but be warned: you are responsible for the choice of your group. This means that if someone else in your group "was supposed to turn in the assignment" and didn't, or "didn't finish part c" of an exercise, you will not receive any special consideration in grading. Solutions must be electronically typeset and submitted via gradescope.
You may use LLM-based coding assistants to generate initial code for any programming-based homework problems, although it is not required; it is your responsibility to confirm that the code generates correct results and runs on CSELabs machines. You may use LLMs to improve the writing style of your solutions to proof-based problems, but must use a service that supports query history. Any student, individually, may be asked to explain their solution in person, without access to a computer, to any homework submission in this class, and if they cannot explain it to the satisfaction of the course staff, the group will receive a zero for that problem.
Late submissions: Homeworks may be turned in up to 48 hours after the due date at a 25% penalty.
In order to accommodate unexpected absences or schedule conflicts, each student's lowest homework score will be dropped when computing their average. - Midterms: There will be 5 take-home midterm exams, the dates of which are already posted on the class schedule. Each exam will potentially cover all materials covered in lectures and readings since the previous exam. Exams will be released on the course Gradescope instance at 9am (central time) and be due by 9pm (central time). The exams are open-notes and open-book but no collaboration or use of internet resources will be allowed. This includes a prohibition on the use of LLMs.
Exams will not be rescheduled and no makeup exams will be offered. In order to accommodate unexpected absences or schedule conflicts, each student's lowest exam score will be dropped when computing their average. - Course Projects. Each homework will include one "project question," which requires a longer response and typically some combination of mathematical and programming analysis. These should be completed in the same group as the corresponding homework and submitted with the homework. Each student must complete three project questions over the course of the semester (we will keep the highest three scores for students that submit more than three project responses). The class canvas page includes a more detailed list of project grading criteria. LLMs may be used to improve the writing style of the project reports, and generate initial code skeletons, but (1) history must be retained, and (2) any individual student may be asked to give a 10-minute presentation on any project report submitted for this course, and in that case, the grade for the presentation will replace the grade for the report.
- In-class Exercises. Throughout the course of the semester, we will engage in approximately 20 in-class exercises that require students to complete short examples in groups, during class, and hand them in. These will be graded on a 2-point scale. Your total score on these exercises will be taken out of 25 points (capped at 100%).
Note: If you elect to "drop" your fifth homework, project, and exam score by not completing them, you must complete at least 3 of the in-class exercises during the fifth course "unit."
Final scores will be computed as a weighted average of the homework total (30%), Midterm total (40%), Projects score (27%), and In-class Activities score (3%). Grades will be assigned strictly on the following scale:
| Grade | Minimum Score |
|---|---|
| A | 90.00 |
| A- | 86.00 |
| B+ | 82.00 |
| B | 78.00 |
| B- | 74.00 |
| C+ | 70.00 |
| C | 66.00 |
| C- | 60.00 |
| D+ | 55.00 |
| D | 50.00 |
| F | 0 |
Classroom atmosphere expectations
I want this to be a class where everyone feels comfortable asking questions (which is how we learn!) and contributing to discussions. In order for this to happen, it is important for us all to respect and learn from one another. Here are some things to keep in mind when interacting with fellow students and course staff:
We all have different experience levels. Some students may have encountered some materials in this class before, and might make it look like a problem is easy, where other students might find the material new and intimidating. Please keep in mind that no one knows all of the material, and everyone struggles at some point. When someone is struggling and you help them move forward, they will remember and you will learn more than if you try to hold them back. When you are struggling, just remember that just because you haven't learned something yet doesn't mean you can't learn it now.
We all have different identities. As part of respectful dialog, please think how your comments could impact others in your group. Refer to others as they prefer to be referred to (including, if referring to them in the third person, using any preferred pronoun they choose to indicate).
Part of respecting each other is helping to keep each other safe and healthy. If you are not feeling well, please do not attend lecture. All class lecture slides will be posted on Canvas, and lecture recordings will be posted to Canvas.
Academic Integrity Policy
We will occasionally encourage the use of online resources for completing assignments in this course, and of course it is permitted for students to discuss in general how to solve problems. However, it is never acceptable to use someone else's work without acknowledging it. Every source you use or modify for a homework or project must be explicitly acknowledged. Failure to do so will be considered plagiarism.
The University Student Conduct Code defines scholastic dishonesty as: submission of false records of academic achievement; cheating on assignments or examinations; plagiarizing; altering, forging, or misusing a University academic record; taking, acquiring, or using test materials without faculty permission; acting alone or in cooperation with another to falsify records or to obtain dishonestly grades, honors, awards, or professional endorsement. In this course, a student responsible for scholastic dishonesty will be assigned a penalty of an "F" or "N" for the course. If you have any questions regarding the expectations for a specific assignment or exam, ask.
Student Workload Statement
Students should expect to spend 4-6 hours on course readings each week, 15-25 hours on each homework set, and 50-70 total hours on course projects over the course of the semester.
Disability Accommodations
The University of Minnesota views disability as an important aspect of diversity, and is committed to providing equitable access to learning opportunities for all students. The Disability Resource Center (DRC) is the campus office that collaborates with students who have disabilities to provide and/or arrange reasonable accommodations.
- If you have, or think you have, a disability in any area such as, mental health, attention, learning, chronic health, sensory, or physical, please contact the DRC office on your campus (612.626.1333) to arrange a confidential discussion regarding equitable access and reasonable accommodations.
- Students with short-term disabilities, such as a broken arm, can often work with instructors to minimize classroom barriers. In situations where additional assistance is needed, students should contact the DRC as noted above.
- If you are registered with the DRC and have a disability accommodation letter dated for this semester or this year, please contact your instructor early in the semester to review how the accommodations will be applied in the course.
- If you are registered with the DRC and have questions or concerns about your accommodations please contact your (access consultant/disability specialist).
Additional information is available on the DRC website: https://diversity.umn.edu/disability/ or students may email drc@umn.edu with questions.
Academic Freedom and Responsibility
Academic freedom is a cornerstone of the University. Within the scope and content of the course as defined by the instructor, it includes the freedom to discuss relevant matters in the classroom. Along with this freedom comes responsibility. Students are encouraged to develop the capacity for critical judgment and to engage in a sustained and independent search for truth. Students are free to take reasoned exception to the views offered in any course of study and to reserve judgment about matters of opinion, but they are responsible for learning the content of any course of study for which they are enrolled.
Reports of concerns about academic freedom are taken seriously, and there are individuals and offices available for help. Contact the instructor, the Department Chair, your adviser, the associate dean of the college, or the Vice Provost for Faculty and Academic Affairs in the Office of the Provost.
Required Syllabus Statements
This course conforms to the standard University policies on Student Conduct; Sexual Harrassment; Equity, Diversity, Equal Opportunity, and Affirmative Action; Mental Health and Stress Management; and Academic Freedom and Responsibility (non-research course).
This publication/material is available in alternative formats upon request. Please contact the Computer Science & Engineering Department at 612-625-4002 / csdesk@umn.edu / 207 Church St SE Minneapolis, MN 55455.
Course Summary:
| Date | Details | Due |
|---|---|---|