(Winter 2022) CS 485/585 - Intro to Cryptography


  • <2021-01-04 Tue> Week 1 lectures will be delivered in Zoom.
  • <2021-12-13 Mon> Course page is up and running! Stay tuned~


  • Syllabus: PDF.
  • Lectures: Tu/Th 14:00 - 15:50 @ KMC (Karl Miller Center) 480.
  • Instructor: Fang Song (fsong “AT” pdx.edu). Office hours: W, 13:00 - 14:30 @ Zoom (See link in Slack and Google Calendar).
  • Teaching assistant: Nikhil Pappu (nikpappu “AT” pdx.edu). Office hours: M/F, 10 - 11:30 @ Zoom (See link in Slack and Google Calendar).
  • Google classroom: join with code oxwi523.
  • Overview: Cryptography is usually described as the art of secret writing. The revolution of modern cryptography, however, has been transforming cryptography into a science based on a mathematically rigorous framework. Beyong the significance in protecting information in our society, modern cryptography is also full of intellectual and mathematical beauty. This course will explore the key concepts in modern cryptography, including private-key cryptography such as perfect secrecy, block ciphers, crytographic hash functions and message authentication, as well as public-key cryptography such as public-key encryption and digital signatures. We will also touch on some emerging topics such as the threats and opportunities quantum computing brings in cryptography. Our approch will be conceptual and theoretical: the focus is on the ideas rather than implementations, and on how to define and reason about security of cryptographic constructions in a mathematically sound manner. The ultimate goal will be to build a cryptographic way of thinking.
  • Prerequisite: CS 350 or equivalent. It is crucial that you are comfortable with (preferably enjoy) reading and writing mathematical proofs. It’s helpful if you are familiar with (randomized) algorithms, basic probability theory and linear algebra. I will review some of the basics in class, but the terms “big-O notation, randome variables, expectation, matrices and eigenvalue” for example should not be totally alien to you. If you are uncertain about your background please don’t hesitate to talk with me. Programming skills are not required for this course.
  • Required Text: Introduction to Modern Cryptography (3rd edition) by Jonathan Katz and Yehuda Lindell. Chapman and Hall/CRC, Dec. 2020. On course reserve at PSU libary. link.
  • Useful materials: see the RESOURCE page.