Skip to content

Latest commit

 

History

History
16 lines (12 loc) · 1.92 KB

README.md

File metadata and controls

16 lines (12 loc) · 1.92 KB

Resources for a First-Year College Mathematical Cryptography Course

Resources for a unit or course in cryptography without prerequisites from a number-theoretic perspective, originally developed for the publication Cross-Curricular Pure Math Applications in the section Modular Arithmetic through Secret Codes.

To access Jupyter notebooks (made for students to learn how to write basic SageMath/Python code for basic ciphers), see Python Modules.

The order in which the modules build on themselves is as follows. There is some flexibility (for example, whether and when you assign the Euclidean Algorithm and Frequency Analysis modules), but for the most part I strongly recommend following the ordering below when introducing basic ciphers.

  1. ShiftEncrypt: Encrypting Shift Ciphers
  2. ShiftDecrypt: Decrypting Shift Ciphers with Known Key
  3. BruteShift: Brute-Force Cryptanalysis of Shift Ciphers
  4. AffineEncrypt: Encrypting Affine Ciphers
  5. Frequency Analysis
  6. Euclidean Algorithm
  7. VigenereEncrypt: Encrypting Vigenère Ciphers

The rubrics I use to grade these modules are available upon request.