Intro to Cryptography
Oregon State University, Winter 2017

Cryptography is about using computation to protect information in the presence of adversarial behavior. In this course, you will learn how to reason about security properties in a mathematically rigorous way. You will learn the fundamental building blocks of cryptography: pseudorandom functions, encryption, hash functions, message authentication, key agreement.

News

Mar 3
HW7 posted, due Mar 10.
Mar 1
Final exams have been scheduled. Ours is Tuesday Mar 21 at 6pm.
Feb 24
HW6 posted, due Mar 3.
Feb 17
HW5 posted, due Feb 24.
Feb 8
Project guidelines have been posted. Midterm exam will be 1 week from today.
Feb 3
HW4 posted, due Feb 10.
Jan 27
HW3 posted, due Feb 3.
Jan 25
Fixed some typos in HW2, please refresh (updated version says so in the title).
Jan 23
LaTeX headers/example posted, for those of you who want to make your homework submissions pretty.
Jan 20
HW2 posted, due Jan 27.
Jan 17
TA office hours announced (listed at the top of this page).
Jan 13
HW1 posted, due Jan 20.
Jan 9
Syllabus now posted.
Jan 8
OSU is canceled Monday. We will meet at the usual time on Wednesday.
Jan 6
Depending on the weather, I might be traveling during Monday & Wednesday. In that case there will be no face-to-face meeting, but a pre-recorded video lecture will be provided. Watch your email for updates.
Dec 15
The website is alive!

Materials

Handouts

Homeworks

(How to submit)

Textbook

We will be using my free textbook, The Joy of Cryptography. The textbook is still in draft form, and may be updated often during the quarter.

  1. Review of Concepts & Notation
  2. One-Time Pad
  3. The Basics of Provable Security
  4. Secret Sharing
  5. Basing Cryptography on Limits of Computation
  6. Pseudorandom Generators
  7. Pseudorandom Functions
  8. Pseudorandom Permutations
  9. Security against Chosen Plaintext Attacks
  10. Block Cipher Modes of Operation
  11. Chosen Ciphertext Attacks
  12. Message Authentication Codes
  13. Hash Functions
  14. The RSA Function
  15. Diffie-Hellman Key Agreement
  16. Public-Key Encryption
  17. Everything

Other

Other helpful references:

Schedule