Cryptography

Instructor: Curtis Bright

The course COMP-8920 (selected topics) held in Winter 2025 at the University of Windsor will cover an introduction to cryptography.

Some planned topics include classical cryptography and private-key cryptosystems, perfect security and the one-time pad, block ciphers and stream ciphers, hash functions and message authentication, public-key cryptography including the RSA cryptosystem, primality testing, integer factorization, the Diffie–Hellman key exchange and the discrete logarithm problem, signature schemes, and if time permits some post-quantum cryptography.

Lecture Notes

Thanks to the students who took the course for transcribing the lecture notes. Note that they may not 100% follow what was presented in lecture.

  1. Lecture 01 General Overview
  2. Lecture 02 Background, Classical Cryptography
  3. Lecture 03 Classical Cryptography
  4. Lecture 04 Basic Cryptanalysis
  5. Lecture 05 Basic Cryptanalysis, Perfect Security
  6. Lecture 06 Perfect Security
  7. Lecture 07 Block Ciphers, DES
  8. Lecture 08 DES, AES, Modes of Operation
  9. Lecture 09 A Padding Oracle Attack, Stream Ciphers
  10. Lecture 10 Attacks on Stream Ciphers, Hash Functions
  11. Lecture 11 Hash Functions and the Random Oracle Model
  12. Lecture 12 Hash Function Construction
  13. Lecture 13 Merkle–Damgård
  14. Lecture 14 Sponge Construction
  15. Lecture 15 Message Authentication Codes
  16. Lecture 16 Message Authentication Codes
  17. Lecture 17 Number Theory Background for RSA
  18. Lecture 18 RSA Description
  19. Lecture 19 RSA Implementation
  20. Lecture 20 Primality Testing (Solovay–Strassen)
  21. Lecture 21 Primality Testing (Miller–Rabin), Modular Square Roots
  22. Lecture 22 Attacks on RSA
  23. Lecture 23 The Rabin Cryptosystem, Semantic Security
  24. Lecture 24 The Discrete Log Problem and the ElGamal Cryptosystem

Textbook

The lectures roughly cover the first six chapters of Cryptography: Theory and Practice, 4th Edition by Stinson and Paterson.