Homework & Schedule

Homework Instructions and Policies:

  • All homework assignments must be submitted on Gradescope. You may find the link to the Gradescope course page on Blackboard. 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.
  • One lowest homework grade will be dropped at the end of the semester.
  • 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.
  • Unless specified otherwise, any calculator or computer is not allowed.

Schedule

All textbook readings are from Trappe and Washington.

Week of Sections to Cover Sections to Read HW
(due Friday,
11:59pm)
Jan 15 No class on 1/15
1.1 Secure Communications,
1.2 Cryptographic Applications
   
Jan 22 3.1 Basic Notions
3.2 The Extended Euclidean Algorithm
3.3 Congruences
2.1 Shift Ciphers
2.2 Affine Ciphers
2.3 The Vigenere Cipher
2.4 Substitution Ciphers
2.5 Sherlock Holmes  
Jan 29 2.6 The Playfair and ADFGX Ciphers
2.7 Enigma
3.8 Inverting Matrices Mod n
6.2 Hill Ciphers
  HW1
Solutions
Feb 5 4.1 Binary Numbers and ASCII
4.2-4.4 One-Time Pads
5.1 Pseudorandom Bit Generation
5.2 LFSR sequences
4.5 Indistinguishability and Security
5.3 RC4
HW2
Solutions
Feb 12 3.4 The Chinese Remainder Theorem
3.5 Modular Exponentiation
3.6 Fermat’s Thm and Euler’s Thm
3.7 Primitive Roots
3.9 Square Roots mod n
3.10 Legendre and Jacobi Symbols
3.12 Continued Fractions HW3
Solutions
Feb 19 9.1-9.5 The RSA cryptosystem 9.6 An Application to Treaty Verification
9.7 The Public Key Concept
14.2 Choosing Primes for RSA
HW4
Solutions
Feb 26 10.1-10.2 Discrete Logarithms
10.4 Diffie-Hellman Key Exchange
10.5 The ElGamal Public Key Cryptosystem
10.3 Bit Commitment  
Mar 4 Midterm Review (Midterm: Mar 6)
6.1 Block Ciphers
6.3 Modes of Operation
  HW5 (due 3/4)
Solutions
Mar 11 Spring Break (no class)    
Mar 18 3.11 Finite Fields
7.1-7.4 The Data Encryption Standard
7.5 Breaking DES  
Mar 25 6.4 Multiple Encryption
6.5 Meet-in-the-middle Attacks
8.1-8.3 The Advanced Encryption Standard
8.4 Design Considerations HW6
Apr 1 11.1-11.2 Hash Functions
12.1 Birthday Attacks
7.6 Password Security
12.6 Password Protocols
12.7 Blockchains
11.3 Merkle-Damgard Construction
11.4 SHA-2
11.5 SHA-3/Keccak
12.2 Multicollisions
12.3 Random Oracle Model
12.4 Hash Function Encryption
12.5 Message Authentication Codes
 
Apr 8 No class on 4/8 ○◑●◐○
13.1-13.5 Digital Signatures
   
Apr 15 16.1 Setting the Stage for Digital Economies
16.3 Bitcoin Overview
16.2 A Digital Cash System
16.4 Cryptocurrencies
 
Apr 22 21.1-21.3 Elliptic Curves
21.5 Elliptic Curve Cryptosystems
21.4 Elliptic Curves in Characteristic 2  
Apr 29 23.1-23.5 Lattice-based cryptosystems    
May 6 Final: May 6