Welcome to Cryptography! Here you will find all the materials that we cover in the class. A copy of the syllabus can be found here

Calendar

Day Topic Checklist Lecture Notes Reading Homework/Worksheets Programming
Day 1 Classical Ciphers and Security
  • Private Key Encryption
  • Shift Cipher
  • Vigenere Cipher
  • Hexidecimal
  • Binary numbers
1.1, 1.2, 1.3
Day 2 Implementations and Python
  • Bytewise Shift Cipher
  • XOR operator
  • ASCII, hex, and binary
  • Intro to Python
1.3, 1.4
Day 3 Perfect Secrecy
  • Bytewise Vigenere Cipher
  • Law of Total Probability
  • Bayes Theorem
  • Perfect Secrecy
2.1
Day 4 One Time Pad and Optimality
  • One Time Pad
  • Perfect Secrecy
2.2
Day 5 Computational Secrecy
  • Perfect Indistin.
  • Asymptotic Security
  • Computational Secrecy
2.2,3.1
Day 6 Review
  • Computational Security
  • Psuedorandom
3.2-3.3
Day 7 Pseudo One time pad
  • Pseudo random generator
  • Pseudo One time pad
3.2-3.3
Day 8 CPA Security
  • CPA Security
  • MM Security
  • Necessary Conditions
3.4-3.7
Day 9 CPA Secure Scheme
  • CPA Secure Scheme Proof
  • Pseudo random permutations
3.4-3.7
Day 10 Midterm Chapters 1-3
Day 11 Group Theory I
  • Finite Groups
  • Fermats Little Theorem
Chapters 7
Day 12 Group Theory II
  • Chinese Remainder Theorem
  • Isomorphisms
Chapters 7
Day 13 Group Theory III
  • Factoring Assumption
  • RSA Assumption
Chapters 7
Day 13 Group Theory III
  • Discrete Log Problem
  • Diffie-Hellman Problem
  • Key exchange
Chapters 7, 9
Day 15 Group Theory III
  • CPA Security
  • RSA Encryption
  • El Gamal Encryption
Chapters 10
Day 16 Final Chapters 7,10