CO 487: Applied Cryptography (Fall 2021)
Instructor: David Jao, djao, MC 5032
Lectures: MWF 11:30am-12:20pm EDT live via Zoom. Meeting information and past recordings will be posted on LEARN (https://learn.uwaterloo.ca/).
Teaching assistants:
Andrew Jena | ajjena | Office hours: Wed. 2:00-4:00pm EDT |
Mary Kate MacPherson | mkmacphe | Office hours: Thu. 3:00-5:00pm EDT |
Youcef Mokrani | ymokrani | Office hours: Mon. 1:00-3:00pm EDT |
Steven Santoli | ssantoli | Office hours: Tue. 9:30-11:30am EDT |
Sam Winnick | stwinnic | Office hours: Tue. 3:00-5:00pm EDT |
Zishen Qu | z24qu | Office hours: Fri. 1:00-3:00pm EDT |
Instructional support and important announcements will be given on the Piazza forum (https://piazza.com/class/kt7fcpy9yae7g3) for this class. Office hours will be held online using gather.town (see LEARN (https://learn.uwaterloo.ca/) for access instructions), starting the week of September 13.
Course materials
- Course outline (https://outline.uwaterloo.ca/view/1744)
- Handbook of Applied Cryptography, (http://www.cacr.math.uwaterloo.ca/hac/) by A. J. Menezes, P. C. van Oorschot and S. A. Vanstone.
- Cryptography: Theory and Practice, 4th edition (2018), by D. Stinson and M. Paterson
- RC4 implementation (https:../../co487/2021/rc4-2021.nb) and ChaCha20 implementation (https:../../co487/2021/chacha20-2021.nb) (these will only be useful if you have Mathematica)
Schedule
The (tentative) schedule for the course is as follows:
- Assignment 1, due Monday, September 20
- Vigenère ciphertexts for problem 1
- Vigenère cipher cracking tool (https://www.simonsingh.net/The_Black_Chamber/vigenere_cracking_tool.html) which you may find useful for problem 1
- Ciphertext c1 (https:../../a1/enc1.txt) for problem 2
- Ciphertext c2 (https:../../a1/enc2.txt) for problem 2
- One-time-pad encryption and decryption oracle (https:../../cgi-bin/otp.cgi) for problem 2
- Solutions (https:../../co487/2021/s1.pdf)
- Assignment 2, due Monday, October 4
- A Tutorial on Linear and Differential Cryptanalysis (https://proxy.lib.uwaterloo.ca/login?url=https://dx.doi.org/10.1080/0161-110291890885)
- Solutions (https:../../co487/2021/s2.pdf)
- Assignment 3, due Monday, October 25
- Solutions (https:../../co487/2021/s3.pdf)
- Assignment 4, due Monday, November 8
- Solutions (https:../../co487/2021/s4.pdf)
- Assignment 5, due Monday, November 22
- Solutions (https:../../co487/2021/s5.pdf)
- Assignment 6, due Monday, December 6
- Solutions (https:../../co487/2021/s6.pdf)