Course Schedule, CPSC 418 / MATH 318, Winter 2024

home -  about -  schedule -  assignments -  latex -  handouts -  references -  Renate Scheidler

  General Information

  Course Schedule and Topics

!-->
Week Dates Lecture Topic Tutorial Topic To-Do List
1   Jan. 8-12   Course overview and technicalities, symmetric cryptosystems, classical ciphers (Chapters 1 & 2, A.1) No tutorials Read the home and about tabs on the course website and the recommendations on how to succeed in this course.
Create Gradescope and Piazza accounts if you don't already have them and sign up for the course.
2   Jan. 15-19   Probability, perfect secrecy, one-time pad (Sections 3.1-3.3) Individual: Review of proof writing
(Jackie Dewar's proof approach, Janet Leahy's proof writing tips, three sample proofs)
Common: Typesetting with LaTeX (Practice document: LaTeX, PDF)
Haysn's materials: main.tex, main.pdf, shared.tex
Peruse the latex tab on the course website and practice LaTeX using the practice document posted there.
3   Jan. 22-26   Entropy, product ciphers, block ciphers, AES Competition (3.4, 4.1, 4.6) Individual: Congruences and modular arithmetic (Practice Problems)
Common: Probability theory and perfect secrecy (Practice Problems 1, Practice Problems 2)
Read the assignments tab on our course website in order to thoroughly familiarize yourself with with the policies and submission procedures for our assignments.
4   Jan 29 - Feb. 2   Polynomial arithmetic, Advanced Encryption Standard, Cryptanalysis of block ciphers (4.6)
Video and audio only of Friday's lecture
Individual: Pointers on the written portion of Assignment 1
Common: Pointers on the coding portion of Assignment 1
Assignment 1 due (Friday Feb. 2, 11:55 pm Sunday, Feb. 4, 11:55 pm)
5   Feb. 5-9   Cryptanalysis of block cipher, stream ciphers, modes of operation, one-way functions, number theory, Diffie-Hellman key exchange (4.3, 4.4, 4.7, 4.8, 7.1 (up to 7.1.1), A.2.2, 12.2 Individual: Entropy (Practice Problems 1, Practice Problems 2)
Common: Polynomial arithmetic (Practice Problems)
 
6   Feb. 12-18   More number theory, security and efficiency of Diffie-Hellman (12.2, 2.1.3 (Def. 2.3 and Thm. 2.2 only), 6.3.1 pp. 199-200)
Video of Friday's lecture
Individual: Primitive roots, discrete logs (Practice Problems)
Common: Modes of operation for block ciphers (Tutorial Jupyter Notebook)
 
  Feb. 19-23   Reading Week   Take a break! Then catch up.
7   Feb. 26 - Mar. 2   Hash functions, message authentication codes (5.1, 5.2 (up to 5.2.1), 5.4, 5.5) Individual: Pointers on the written portion of Assignment 2
Common: Pointers on the coding portion of Assignment 2
Assignment 2 due (Problems 1-6:Friday Mar. 1, 11:55 pm; Probems 7-9: Sunday, March 3, 11:55 pm)
8   Mar. 4-8   Security of MACs, public key cryptography, RSA, provable security, more number theory (5.5, 6.1-6.3, 2.1.3 (Def. 2.4 only)) Individual: Euler phi, binary exponentiation, Diffie-Hellman (Practice Problems)
Common: Hash functions and MACs (Practice Problems)
 
9   Mar. 11-15   More on RSA, probabilistic encryption, provable security, El Gamal PKC (6.3, 6.7.1, 7.1) Individual: Drop-in, questions etc
Common: Midterm Exam Review
Midterm exam (Friday Mar. 15, 18:00-19:30 in KNB 132)
10   Mar. 18-22   More on provable security, yet more number theory, Goldwasser-Micali PKC, RSA-OAEP, Digital signatures (6.4.1, 6.9, 8.1) Individual: Modular inversion, extended gcd's (Practice Problems), RSA (Practice Problems)
Common: El Gamal encryption (Practice Problems)
 
11   Mar. 25-29   More on digital signatures, El Gamal signature scheme, cryptography in practice: random number generation, authentication (8.1-8.3, Appendix B, 11.1)
No class on Friday
Individual (Mon & Wed): Quadratic residuocity, Jacobi symbols (Practice Problems)
No tutorial on Friday
Common: Digital signatures (Practice Problems)
 
12   Apr. 1-5   Cryptography in practice: key management, entity authentication, a real-world cryptographic solution (SSH) (11.1, 11.3, 8.6, 12.1-12.2)
No class on Monday
Individual Wed & Fri): Pointers on the written portion of Assignment 3
No tutorials on Monday
Common: Pointers on the coding portion of Assignment 3
 
13   Apr. 8-12   Catch-up or (time-permitting) elliptic curve cryptography, current and future trends in crypto (non-examinable material)
No classes on Wednesday and Friday
Individual (Mon only): Pointers on the written portion of Assignment 3
No tutorials on Wednesday and Friday
Assignment 3 due (Monday, Apr. 8, 11:55 pm)
Challenge problems due (Monday Apr. 8, 11:55 pm)
         
  April 16       Final Exam (Apr. 16, 9:00-12:00, ST 140)


Last modified by Renate Scheidler
https://cspages.ucalgary.ca/~rscheidl/crypto/schedule.html