CS487/ CS587: Introduction to Cryptography
George Mason University, Computer Science, Fall 2026
Instructor: Prof. Foteini Baldimtsi (foteini@gmu.edu)
Office Hours: Wednesdays 2:30PM - 4:00PM, ENG 5333
Lectures: Wednesdays 4:30PM-7:10PM, Location: Engineering Building | Room 1103
Class website: https://www.baldimtsi.com/teaching/crypto_f25
Teaching Assistant: Agha Aghayev (aaghaye@gmu.edu),
Office hours: TBD in ENGR 4456
TBD on zoom (link on piazza/canvas)
The course will provide an introduction to modern cryptography. This is a theory class, we will learn how to properly define security in a formal manner, and how to prove that our constructions are secure. We will cover many practical topics, such as how to correctly use block ciphers and hash functions for the most common tasks: encryption and message authentication, the differences between public key cryptography and symmetric key cryptography, and a few ways to build public key encryption and signatures. In addition, and if time permits, we will also cover some recent topics in cryptography, such as the use of blockchains for crypto currencies (i.e. Bitcoin), zero-knowledge proofs of knowledge, and searching on encrypted databases. As of this year, we will also touch up the intersection of cryptography and AI.
Objectives: The main objectives are to convey the importance of provable security, to teach students how to use cryptographic tools in a way that they can prove it is secure, to provide students with the ability to decide whether a protocol is secure, and to demonstrate the range of what can be achieved with provable security.
Course Outcomes: Students taking this class will be able to: (a) understand the security properties achieved by common cryptographic mechanisms such as encryption or digital signatures, (b) be familiar with a number of cryptographic protocols (toolbox) available to solve a variety of problems, (c) gain some experience on how cryptographic tools are used to secure modern systems such as cryptocurrencies.
Prerequisites: The prerequisites for the class are CS 310, CS 330 and STAT 344.
Although we will learn about practical topics in cryptography, students will need some level of mathematical maturity, i.e. being familiar with concepts in probability theory (computation of expectation, conditional probability etc) and complexity theory (Turing machines, NP-completeness etc) would be helpful for an easier understanding of formal security definitions and proofs. This is not a course about computer hacking or computer security.
Communications: We will use Canvas to communicate with you. If you have a question about the course you should: (a) Come to office hours, OR (b) Post on Canvas. We have already set up Discussion Boards for HW problems and lectures. Please don't use private posts/emails to ask technical questions. The rest of the class is probably also interested in your question, so make it public!
Lectures: The class will meet in person once a week on Wednesdays. I use an electronic whiteboard during lecture and all notes are uploaded on canvas after class. I highly recommend asking questions during lecture and I will often ask questions and give short problems to solve in a group fashion during class.
Class Material: All class material (slides, notes, videos etc) will be posted on Canvas.
Assignment Submission and Late Policy: We will have ~10 sets of assigned homework problems (roughly weekly). Assignments will be posted on Canvas on Thursday's and solutions have to be submitted on Canvas by next Friday 11:59pm. No credit will be given to late submissions. To be fair with everyone in class no exception will be made to the rule above. The lowest HW grade will be dropped thus you have the option to skip one HW in case you are sick, or have other responsibilities. HWs will sometimes include bonus problems.
Quizzes: We will have weekly quizzes (most of the weeks) that will take place at the beginning of the class, electronically on Canvas. You need to have an electronic device with you in class (laptop, tablet, smartphone) with access to Canvas. If you need special accommodations please contact the instructor in advance. Similar to HWs the lowest grade will be dropped, so it is OK if you need to miss a class.
Graduate Students (CS 587): Graduate students will be asked to independently study some additional material, work on extra problems in 3-4 HWs and answer some additional questions during midterm/exam.
Text Book: Katz and Lindell. Introduction to modern cryptography, Third Edition. (Required).
Alternative readings (available online for free) listed below.
A Graduate Course in Applied Cryptography, Dan Boneh, Victor Shoup
Cryptography Primitives and Protocols, Aggelos Kiayias
The Joy of Cryptography, Mike Rosulek
A course on Cryptography, Rafael Pass & abhi shelat
Cryptography, an introduction, Nigel Smart
Introduction to Modern Cryptography, Mihir Bellare & Phil Rogaway
Grading Policy
Assignments: 15% (~10 assignments, lowest grade dropped)
Quizzes: 10% (~10 quizzes, lowest grade dropped)
Midterm: 35% or 40%
Final: 35% or 40% (The highest grade between midterm/final will count for 40% and the lowest for 35%).
https://docs.google.com/spreadsheets/d/1_PCmXTaVN9uW3zufhnPoCMkHZCizQ_6133eahF0Xzk4/edit?usp=sharing
AI tools policy: You are forbidden from asking an AI to solve any of the problems for this class. You are forbidden to upload or paste any assignment materials into an AI. You may only ask an AI the same sort of general questions you would ask a peer. For the purposes of the GMU CS Honor Code <https://cs.gmu.edu/resources/honor-code/>, an AI is considered "someone else" who is not an instructor or teaching assistant.
Electronic devices policy during exams: Quizzes and exams are closed book, closed notes, and no electronic devices are allowed. The possession of an unauthorized device or unauthorized material during any quiz or exam will result in an automatic 0 on that assessment, even if the device or material is not used. For example, if you are asked to turn off your phone and put it away in your backpack, and then you are seen with a phone in your pocket during a quiz or exam (even if it is off), then that quiz or exam will be an automatic 0. This policy is non-negotiable and it is your responsibility to confirm before the assessment if something does or does not adhere to the assessment policies.
Honor code: All students must adhere to the GMU Honor Code. You can discuss lecture material with other students in class but you have to work on the assignments alone. More specifically: (1) You must work on the homework problems and write your solutions completely on your own, without looking at other people’s write-ups. (2) You are welcome to use any textbooks, online sources, blogs, research papers, Wikipedia, etc to better understand a notion covered in class. If you do so you have to properly cited it in any submitted work. Failure to do this is plagiarism and is serious violation of the GMU Honor Code and basic scientific ethics, and will not be tolerated. Note that it is not OK to search for solutions to HW problems online.
For additional information on: Academic Standards, Accommodations for students with disabilities, FERPA rules and Title IX resources please refer to the official GMU Common Course Policies.