Homework and Schedule

Homework Instructions and Policies:

  • All homework assignments must be submitted on Gradescope. A video from Gradescope with instructions explaining how to submit your homework can be found here.
  • Up to two homework sets may be submitted up to 48 hours late. This is meant to cover illness, travel, and weeks where you have lots of other work or exams, and you do not need to provide an excuse. Beyond these two, no late homework will be accepted. *Note: to facilitate this, Gradescope will show a deadline and a late deadline for every set. It will not prevent you from submitting more than two sets late, but I’ll only count the first two.
  • Leave time to check that your submission is correct. It’s your responsibility to make sure you’ve submitted to the correct assignment, and have uploaded all your work. Plan to submit your work at least 15min before the deadline, and view your submission after uploading it.
  • The homework will give clear instructions on when you’re allowed to use a calculator or computer, and when you should do all work by hand. You’ll be allowed a basic 4-function calculator for exams; please purchase one if you don’t already have one.


This schedule is tentative, and may change according to our progress through the topics. All textbook readings are from Trappe and Washington.

Week of Sections to Read HW (due Friday, 11:59pm)
Mon. 1/10 (No class Monday) 1 Introduction, 2.1 Shift cyphers, 3.1 Basic Notation, divisibility None                                                                 
Mon. 1/17 (No class Monday) 3.2 Euclidean Algorithm, 3.3 Congruences None
Mon. 1/24 2.2 Affine ciphers, 2.3 Vigenere Cipher, 2.4 Substitution cyphers, 4.1 Binary Numbers and ASCII, 4.2 One-Time Pads, HW 1, Solutions
Mon. 1/31 6.1 Block Ciphers, 6.2 Hill Cipher, 6.3 Modes of Operation, 3.4 Chinese Remainder Theorem, 3.5 Modular Exponentiation HW 2, Solutions
Mon. 2/7 3.6 Fermat’s Thm and Euler’s Theorem, 3.7 Primitive Roots, 3.9 Square Roots mod n, 9.1 The RSA Algorithm HW 3, Solutions
Mon. 2/14 9.3 Primality Testing, 9.4 Factoring, 14.2 Choosing Primes for RSA HW 4, Solutions
Mon. 2/21 10.1 Discrete Logs, 10.2 Computing Discrete Logs, 10.4 Diffie-Hellman Key Exchange, 10.5 ElGamal HW 5, Solutions
Mon. 2/28 Midterm Review HW 6, Solutions
Wed. 3/2 Midterm Exam (in class)  
Mon. 3/07 Spring Break (no class)  
Mon. 3/14 7.1 DES Introduction, 6.5 Multiple Encryption, 6.6 Meet-in-the Middle Attacks Class will meet on zoom this week  
Wed. 3/16 Paper Topic Approval Deadline  
Mon. 3/21 3.11 Finite Fields, 8.1 AES HW 7, Solutions
Mon. 3/21 Paper Outline Due  
Mon. 3/28 11.1 Hash Functions, 11.2 Simple Hash Examples, 11.3 The Merkle-Dagard Construction, 12.1 Birthday Attacks HW 8, Solutions
Wed. 3/30 Paper Draft Due  
Mon. 4/4 Paper Peer comments Due  
Mon. 4/4 13.1 RSA Signatures, 13.2 ElGamal Signatures, 15.1 Intruders-in-the Middle and Impostors, 15.2 Key Distribution HW 9, Solutions
Mon. 4/11 Final Paper Due  
Mon. 4/11 12.7 Blockchains, 16.1 Setting the Stage for Digital Economies, 16.3 Bitcoin Overview, 16.4 Cryptocurrencies HW 10, Solutions
Mon. 4/18 21.1, 21.2 Elliptic Curves  
Mon. 4/25 21.5 Elliptic Curve Cryptography HW 11, Solutions
Week of 5/2 Final Exam May 3, 8:30am