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