Covered Topics

Resourses

EB: Eric Bach Course notes for Introduction to Cryptography, University of Wisconsin-Madison, 2008

KL: Jonathan Katz, Yehuda Lindell Introduction to modern cryptography, 3rd edition, 2021

PPG: Christof Paar, Jan Pelzl, Tim Güneysu Understanding Cryptography, 2nd edition, 2024

RS: Simon Rubinstein-Salzedo  Cryptography, 2018

161: David Wagner, Nicholas Weaver, Peyrin Kao, Fuzail Shakir, Andrew Law, and Nicholas Ngai Computer Security, Online

TW: Wade Trappe, Lawrence C. Washington, Introduction to Cryptography with Coding Theory, 3rd edition, 2020

Schedule

  1. Introduction.

  2. Modular Arithmetic, Affine Ciphers.

  3. Euclidean Algorithm, Inverse modulo .

  4. Monoalphabetic and Polyalphabetic Ciphers.

  5. Intro to Cryptanalysis; Probability.

  6. Expectation, Key Enumeration, CPA Attacks.

  7. Known plaintext attacks and ciphertext-only cryptanalysis.

  8. Monoalphabetic and Polyalphabetic Cryptanalysis.

  9. IND-CPA security.

  10. Stream ciphers and One-time Pad

  11. LFSR sequences

  12. LFSR cryptanalysis

  13. FSR with non-linearity

  14. Modern Stream Ciphers 1

  15. Modern Stream Ciphers 2

  16. Block ciphers 

  17. Modes of Operations

  18. Finite Fields

  19. AES

  20. Birthday Attacks on Multiple Encryption

  21. Big Arithmetic 

  22. Number Theory and Exponentiation

  23. Intro to public cryptography and RSA

  24. Weaknesses and Attacks on Plain RSA

  25. RSA in Practice

  26. Discrete logarithm, DHKE

  27. Generalized DHKE 

  28. Attacks on DHKE 

  29. Elgamal encryption scheme 

  30. Elliptic Curves

  31. Discrete Log problem from EC

  32. ECDHKE

  33. Hash functions

  34. SHA-3 (Keccak)

  35. Hash functions and RNG 

  36. Digital Signatures 1

  37. Digital Signatures 2

  38. MAC 1

  39. MAC 2

  40. MAC 3

  41. Key Establishment Using Symmetric-Key Techniques, KDC

  42. Key Establishment Using Asymmetric Techniques, Certificates