Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Syllabus

Instructor and Course Details

Instructor: Alexander R. Block
Email: arblock [at] uic [dot] edu

Drop-in Office Hours

  • In-person, Monday 12:30-1:30pm, or by appointment.
  • Location: CDRLC 4462.

Course Modality and Schedule: ON CAMPUS, in-person only, CDRLC 2411, 11:00am - 12:15pm Central Time, Mondays & Wednesdays.

Course Website: https://www.cs.uic.edu/~block/courses/cs594-spring2026/

Course Canvas Site: https://canvas.uic.edu/courses/22957

Course Gradescope Site: https://www.gradescope.com/courses/1215230

Course Ed Discussion Site: https://edstem.org/us/join/rqmzG3 (UIC Email required to sign up)

Course Announcements

Course information will primarily be conveyed using this website (see here), Canvas, and Ed Discussion. Course discussion will happen on Ed Discussion. All course assignments and grades will be collected and returned through Gradescope. I will also send email notifications to the class with announcements.

Communication Expectations

Students are responsible for all information instructors send to your UIC email. Faculty messages should be regularly monitored and read in a timely fashion.

Students are expected to check the above course sites regularly to learn about any developments related to the course, upload assignments, and communicate with classmates. For all technical questions about Canvas, email the Learning Technology Solutions team at LTS@uic.edu.

Please use Ed Discussion private messages shared with the instructors (not just the professor or TA by name) if you wish to communicate with us directly. Please only use email for something that explicitly should be kept private only to that person.

Course Information

Modern cryptography is a massive, interconnected field, encompassing numerous topics beyond the “standard” topics of encryption, digital signatures, and key agreement schemes. Moreover, cryptography is the backbone of all real-world security systems, protecting key digital infrastructures across the world. The widespread use and connections of cryptography helped foster the rapid expansion of the field over the past 50 years, creating a wide variety of tools used to secure everything from our phones to secure transactions over the internet.

With such rapid growth, the foundations of cryptography have grown well-beyond encryption schemes, digital signatures, and key agreement schemes. In practice, these schemes are only part of the cryptographic puzzle, and are often used or built into/from other cryptographic building blocks. This course attempts to survey more advanced, but still foundational, topics in cryptography. The course will mainly concern itself with foundational (i.e., theoretical) understanding of a variety of cryptographic tools which have seen widespread use (in both theory and practice), giving formal definitions and security proofs. Along the way, the course will highlight state-of-the art constructions and real-world applications (when applicable, or barriers when they are not). This will give students a deep, foundational understanding of the field, along with crucial context and real-world applications beyond the theory.

Students will be expected to complete an in-class presentation on a topic covered during the course, as well as a final project on a topic of their choice.

Prerequisites: CS 401 and CS 488; or CS 589; or consent of the instructor.

Growth Mindset: Course materials and assignments can be complex and challenging, but they are crucial to your intellectual and personal growth and development. There are times you may need extra help. Students who attend class consistently, complete all assignments, thoughtfully engage with feedback on work, develop good study strategies, visit the tutoring center, and contact faculty when struggling can develop a thorough understanding of the course material and ultimately succeed in the course!

Course Goals and Learning Outcomes

Note

This is an elective course.

The purpose of this course is to continue to explore the enormous field of cryptography. This course is intended to be a follow-up to CS 488 (Introduction to Cryptography), where students will build upon the ideas and concepts introduced in this course to learn about and build advanced cryptographic primitives.

ABET Learning Outcomes

  • (1) an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  • (3) an ability to communicate effectively with a range of audiences.
  • (7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Course Learning Outcomes

  • understand advanced cryptographic primitives.
  • learn about the tradeoffs of advanced primitives.
  • know the difference between different security notions.
  • understand the pros and cons of idealized models and how they affect cryptography.
  • understand post-quantum cryptography and how classical primitives are ineffective against quantum computers.

Brief list of topics to be covered (subject to change)

  • Crypto Review & Mathematical Tools
  • Security Definitions: Asymptotic vs. Concrete
  • Idealized Models (Random Oracle, Generic Group)
  • Secret Sharing
  • Zero-knowledge Proofs
  • Secure Multi-party Computation
  • Indistinguishability Obfuscation
  • Post-quantum Cryptography

No textbook is required for this course. The material covered from this course will be from the following sources:

  • A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup (free online textbook);
  • The Joy of Cryptography by Mike Rosulek (free online textbook; all chapters available June 2026);
  • A Pragmatic Introduction to Secure Multi-Party Computation by David Evans, Vladimir Kolesnikov, and Mike Rosulek (free online textbook);
  • An Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell; and
  • Research papers from recent cryptography and security conferences, such as:
    • Cryptography conferences: CRYPTO, EUROCRYPT, TCC, ASIACRYPT, PKC, FC;
    • Security conferences: S&P, CCS; and
    • Other conferences that accept cryptography papers: STOC, FOCS, ICALP, ITCS.

When relevant or helpful, I will provide links to free materials to help study topics and concepts in this course. Please keep an eye out for changes to the website with these resources. Office hours and Ed Discussion questions will also help you greatly during this course.

Recommended/Expected Background

  • Expected: Mathematical Maturity, which includes:
    • Ability to write and understand proofs;
    • Ability to understand/interpret cryptographic definitions; and
    • Knowledge of probability theory (met by prerequisites of CS 488).
  • Recommended: the above and the following:
    • Combinatorics;
    • Counting; and
    • Group and Field theory.

Required Technology

Access to a computer and internet is required for this course. Students will be expected to make and give in-class presentations using presentation software.

Respect for Course Copyright: Please protect the copyright integrity of all course materials and content. Please do not upload course materials not created by you onto third-party websites or share content with anyone not enrolled in our course.

Course Policies and Classroom Expectations

Grading Policies & Point Breakdown

Grades will be curved based on an aggregate course score and are not defined ahead of time. The score cut-offs for A, B, C, etc., will be set after the end of the course.

The course will have the following grade breakdown:

Task% of total grade
In-class Participation15%
In-class Presentation35%
Final Project50%

Policy for Missed or Late Work

As this course is a seminar, student grades consist entirely of in-class participation, a single in-class presentation, and a final project (of the students’ choice). Thus, the following policy (subject to change) is in place for this course.

  • Final Projects will consist of a write-up and a presentation. The presentation cannot be missed or made-up, but the write-up will be allowed to be late (up to 3 days, losing 25% of the grade per late day).
  • In-class presentations will follow a similar structure as the final projects.

Attendance / Participation Policy

Your attendance and participation are required in this course. I expect students to come to class, be actively engaged, and to not be disruptive to other students during the class period. Moreover, attendance and participation are required for in-class presentations as well.

However, I do understand that things happen (important meeting conflicts with class, unexpected sickness, etc.). So, for this course, you are allowed to have 4 unexcused absences from class, no questions asked. For all other absences and/or if you need to leave early, you will need to notify me with supporting documentation for your reasons.

Please email me AS SOON AS POSSIBLE if you face an unexpected situation that may impede your attendance, participation in required class and exam sessions, or timely completion of assignments.

Regrade Policy

There are no regrades in this course; all grades given for the in-class presentation and final project are final.

Final Grade Assignments

My goal is to ensure that the assessment of your learning in this course is comprehensive, fair, and equitable. Your grade in the class will be based on the number of points you earn out of the total number of points possible, and is not based on your rank relative to other students. There are no set limits to the number of grades given (e.g., everyone can get an A if everyone does well).

Under no circumstances will grades be adjusted down (except in cases of course policy violation). You can use this straight grading scale as an indicator of your minimum grade in the course at any time during the course. You should keep track of your own points so that at any time during the semester you may calculate your minimum grade based on the total number of points possible at that particular time. If and when, for any reason, you have concerns about your grade in the course, please email me to schedule a time for you to speak with me so that we can discuss study techniques or alternative strategies to help you.

Academic Integrity

Consulting with your classmates on assignments is encouraged, except where noted. However, turn-ins are individual or group-based, and copying code/text from your classmates is considered plagiarism (in the case of individual reports, copying your group member’s report is also plagiarism). You should never look at someone else’s writing/code, or show someone else your writing/code, unless otherwise directed by the instructor. Either of these actions are considered academic dishonesty (cheating) and will be prosecuted as such.

To avoid suspicion of plagiarism, you must specify your sources together with all turned-in materials. List classmates you discussed your homework with and webpages/resources (this includes AI usage) from which you got inspiration and help. Plagiarism and cheating, as in copying the work of others, paying others to do your work, etc., is obviously prohibited, and will be reported (this includes asking questions and copying answers from forums such as Stack Overflow and Reddit).

I report all suspected academic integrity violations to the dean of students. If it is your first time, the dean of students may provide the option to informally resolve the case – this means the student agrees that my description of what happened is accurate, and the only repercussions on an institutional level are that it is noted that this happened in your internal, UIC files (i.e., the dean of students can see that this happened, but no professors or other people can, and it is not in your transcript). If this is not your first academic integrity violation in any of your classes, a formal hearing is held and the dean of students decides on the institutional consequences. After multiple instances of academic integrity violations, students may be suspended or expelled. For all cases, the student has the option to go through a formal hearing if they believe that they did not actually violate the academic integrity policy. If the dean of students agrees that they did not, then I revert their grade back to the original grade, and the matter is resolved.

If you are found responsible for violating the academic integrity policy, the penalty can range from receiving a zero on the assignment in question, receiving a grade deduction, or receiving an F in the class, depending on the severity of the violation.

As a student and member of the UIC community, you are expected to adhere to the Community Standards of academic integrity, accountability, and respect. Please review the UIC Student Disciplinary Policy for additional information.

GenAI

Usage of GenAI is allowed in this course. However, you are expected to use GenAI as a tool to help you, and not as a tool to do the work for you. These are two completely different things. This means you should not be submitting any assignment in this course that is completely written by AI. Doing so constitutes a violation of the course conduct policy and will be appropriately punished.

Failure to adhere to this policy will result in the following consequences:

  • First use: You will lose 50% of the points available on the assignment.
  • Second use: You will fail the assignment.
  • Third use: You will fail the course.

GenAI has helped and hindered new and old programmers alike, and it is in your best interest to use GenAI properly to help you solve problems, not solve them for you (as they will often include extra/incorrect/bloated code). See this article exploring the harm GenAI has done to new programmers.

Course Schedule

  • Week 1: Introduction, Review, and Mathematical Tools for this course.
  • Week 2: Security Definitions: Asymptotic vs. Concrete.
  • Week 3: The Random Oracle Model and Generic Group Model: definitions and constructions.
  • Week 4: The Random Oracle Model and Generic Group Model: constructions and applications.
  • Week 5: Definitions and Constructions of Secret Sharing schemes: Linear, Shamir, Threshold, Functional.
  • Week 6: Applications of Secret Sharing.
  • Week 7: Zero-knowledge proofs: definitions and constructions.
  • Week 8: Zero-knowledge proofs: constructions and applications.
  • Week 9: Secure Multi-party Computation: definitions and constructions.
  • Week 10: Secure Multi-party Computation: constructions and applications.
  • Week 11: Indistinguishability obfuscation: definitions, constructions, and applications.
  • Week 12: Memory-Hard functions: definitions, constructions, applications.
  • Week 13: Post-quantum Cryptography: constructions.
  • Week 14: Post-quantum Cryptography: how to break traditional cryptosystems.
  • Week 15: Week 15: Final Project Presentations.
  • Week 16: Final exam week.

Disclaimer

This syllabus is intended to give the student guidance on what may be covered during the semester and will be followed as closely as possible. However, as the instructor, I reserve the right to modify, supplement, and make changes as course needs arise. I will communicate such changes in advance through in-class announcements and in writing via email, the course website, Ed Discussion, and Canvas.

Accommodations

Disability Accommodation Procedures

UIC is committed to full inclusion and participation of people with disabilities in all aspects of university life. If you face or anticipate disability-related barriers while at UIC, please connect with the Disability Resource Center (DRC) at drc.uic.edu, via email at drc@uic.edu, or call (312) 413-2183 to create a plan for reasonable accommodations. To receive accommodations, you will need to disclose the disability to the DRC, complete an interactive registration process with the DRC, and provide me with a Letter of Accommodation (LOA). Upon receipt of an LOA, I will gladly work with you and the DRC to implement approved accommodations.

Religious Accommodations

Following campus policy, if you wish to observe religious holidays, you must notify me by the tenth day of the semester. If the religious holiday is observed on or before the tenth day of the semester, you must notify me at least five days before you will be absent. Please submit this form by email with the subject heading: “[CS 402 Fall 2025] YOUR NAME: Requesting Religious Accommodation.”

Student Parents

I know well how exhausting balancing school, childcare, and work can be. I would like to help support you and accommodate your family’s needs, so please don’t keep me in the dark. I hope you will feel safe disclosing your student-parent status to me so that I can help you anticipate and solve problems in a way that makes you feel supported. Unforeseen disruptions in childcare often put parents in the position of having to choose between missing classes to stay home with a child or leaving them with a less desirable backup arrangement. While this is not meant to be a long-term childcare solution, occasionally bringing a child to class to cover gaps in care is perfectly acceptable. If your baby or young child comes to class with you, please plan to sit close to the door so that you can step outside without disrupting learning for other students if your child needs special attention. Non-parents in the class, please reserve seats near the door for your parenting classmates or others who may need to step out briefly.

Classroom Environment

Inclusive Community

UIC values diversity and inclusion. Regardless of age, disability, ethnicity, race, gender, gender identity, sexual orientation, socioeconomic status, geographic background, religion, political ideology, language, or culture, we expect all members of this class to contribute to a respectful, welcoming, and inclusive environment for every other member of our class. If aspects of this course result in barriers to your inclusion, engagement, accurate assessment, or achievement, please notify me as soon as possible.

Name and Pronoun Use

If your name does not match the name on my class roster, please let me know as soon as possible. My pronouns are [he/him]. I welcome your pronouns if you would like to share them with me. For more information about pronouns, see this page: https://www.mypronouns.org/what-and-why.

Community Agreement/Classroom Conduct Policy

  • Be present by removing yourself from distractions, whether they be phone notifications, entire devices, conversations, or anything else.
  • Be respectful of the learning space and community. For example, no side conversations or unnecessary disruptions.
  • Use preferred names and gender pronouns.
  • Assume goodwill in all interactions, even in disagreement.
  • Facilitate dialogue and value the free and safe exchange of ideas.
  • Try not to make assumptions, have an open mind, seek to understand, and not judge.
  • Approach discussion, challenges, and different perspectives as an opportunity to “think out loud,” learn something new, and understand the concepts or experiences that guide other people’s thinking.
  • Debate the concepts, not the person.
  • Be gracious and open to change when your ideas, arguments, or positions do not work or are proven wrong.
  • Be willing to work together and share helpful study strategies.
  • Be mindful of one another’s privacy, and do not invite outsiders into our classroom.

Furthermore, our class (in person and online) will follow the CS Code of Conduct. If you are not adhering to our course norms, a case of behavior misconduct will be submitted to the Dean of Students and to the Director of Undergraduate Studies in the department of Computer Science. If you are not adhering to our course norms, you will not get full credit for your work in this class. For extreme cases of violating the course norms, credit for the course will not be given.

Content Notices and Trigger Warnings

Our classroom provides an open space for a critical and civil exchange of ideas, inclusive of a variety of perspectives and positions. Some readings and other content may expose you to ideas, subjects, or views that may challenge you, cause you discomfort, or recall past negative experiences or traumas. I intend to discuss all subjects with dignity and humanity, as well as with rigor and respect for scholarly inquiry. If you would like me to be aware of a specific topic of concern, please email or visit my Student Drop-In Hours.

RESOURCES: Academic Success, Wellness, and Safety

We all need the help and the support of our UIC community. Please visit my drop-in hours for course consultation and other academic or research topics. For additional assistance, please contact your assigned college advisor and visit the support services available to all UIC students.

Academic Success

Wellness

  • Counseling Services : You may seek free and confidential services from the Counseling Center at https://counseling.uic.edu/.

  • Access U&I Care Program for assistance with personal hardships.

  • Campus Advocacy Network : Under Title IX, you have the right to an education that is free from any form of gender-based violence or discrimination. To make a report, email TitleIX@uic.edu. For more information or confidential victim services and advocacy, visit UIC’s Campus Advocacy Network at http://can.uic.edu/.

Safety