Room and Time

325 Shillman Hall
Thursday 6-9pm


Travis Mayberry
266 West Village H
travism AT

Office Hours: Thursdays, 4:00 - 6:00. Other times by appointment.

Class Topics

  • Introduction and Historical Cryptography
  • Symmetric Cryptography: Randomenss, Stream Ciphers, Block Ciphers
  • Message Authentication and Hash Functions
  • Key Management and PKI
  • Number Theory, Crytographic Assumptions
  • Public Key Cryptography
  • Cryptographic Signatures
  • Zero Knowledge Proofs and Secret Sharing


There will be no required textbook for this course. The slides will be self contained and no homework questions will be from a book. If you wish to get a book for your own reference/studying I recommend one of the following: All three books are very good, with Goldreich being the most theoretical and Stinson being the most practical. Additionally, there are many resources available online that you can use in lieu of a textbook.

Date Topic AssignmentsSlides
5/9 Introduction and Classical Cryptography Slides
5/16 Symmetric Cryptography I Homework 1 Out
5/23 Symmetric Cryptography II Slides
5/30 Hash Functions and MACs Homework 1 Due
Howework 2 Out
6/6 Key Distribution and PKI Slides
6/13 Number Theory Basics Homework 2 Due
Howework 3 Out
6/20 Public Key Cryptography I Project Topic Due Slides
6/27 Public Key Cryptography II Homework 3 Due
Howework 4 Out
Part 2
7/4 July 4th Holiday
7/11 Zero Knowledge Proofs Slides 1
Slides 2
7/18 Class Canceled Homework 4 Due
Howework 5 Out
7/25 Advanced Topics
8/1 Final Presentations I
8/8 Final Presentations II Final Project Due
Homework 5 Due


  • Homework: 50%
  • Project Proposal: 10%
  • Final Paper: 20%
  • Final Presentation: 20%


Homeworks will be assigned every other week and you will have two weeks to complete them. Since our class meets only once a week, that means you have only one class in between when the homework is assigned and when it is due. I strongly recommend that you at least look at each homework problem before that class so that you will be able to ask any questions you might have. Homeworks are due by the start of class. Late homeworks will be accepted with a 10% penalty for each day they are late.

Final Project

For the final project, you will research an advanced topic in cryptography and prepare a 25 minute "conference style" presentation on that topic to your classmates. Additionally, you will prepare a 6-10 page survey paper on that topic. Your proposal (due 6/20) should be a short, one page paper with your topic and a small list of references that you will be using for your research. The following is a list of topics you might choose from, but you may also talk to me if you would like to work on something not on the list:
  • Cryptographic Voting
  • Oblivious RAM
  • SHA-3
  • Private Information Retrieval
  • Oblivious Transfer
  • Homomorphic Encryption
  • Linear Cryptanalysis
  • Differential Cryptanalysis
  • Randomness Extractors
  • BitCoin
  • Full disk encryption (TrueCrypt)
  • Trusted Platform Modules and Trusted Boot
  • Password Based Key Derivation Functions