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 |