Welcome to CSIA 410 Cryptology. In this class you will learn about cryptology which is the study or science of hiding and revealing hidden or secret messages. After completing this course you should have an operational understanding of basic cryptographic systems. Specifically you will learn about substitution and transposition ciphers, poly-alphabet ciphers, one-time pads. the Vernam Cipher, the XOR function, cryptographically secure pseudo random number generators, symmetric stream ciphers, symmetric block ciphers, cryptographic hash functions, asymmetric encryption, Transport Layer Security (TLS), Certificate Authorities, X.509 Certificates, and the Public Key Infrastructure.
This course description, like most course descriptions, is slightly problematic. That is, it isn’t very helpful because it contains a list of terms like asymmetric encryption or public key infrastructure that will only make sense if you already know what they mean; otherwise the terms may sound like a bunch of gibberish. And if you already know what the terms mean then there’s a good chance that you already know quite a bit about cryptology so there may not be much point in taking the class. But don’t worry, if you don’t know what the terms mean you’ll learn about all of them in the class and by the end of the course description will make sense.
0 – Class Introduction
1 – General Purpose of Cryptology and Terminology
- Lecture Notes (PDF) – things I would normally tell you in class
- Homework (PDF)
2 – Manual Methods for Encrypting and Decrypting
- Lecture Notes (PDF) – Thins I would normally tell you in class
- Lab Manual Exercises (PDF)
- The Scytale (Video)
- [OPTIONAL] Methods For Attacking Transposition Ciphers (PDF)
- Online Tools for Substitution and Transposition Ciphers (Video)
- Homework Cracking Examples (Video)
- Additional Rail Fence Examples (Video)
- Using the Cryptoquote.org Lightning Round for Extra Credit (Video)
3 – Poly Alphabet and Mechanical Methods
- Lecture Notes – Things I would normally tell you in class (PDF)
- Trithemius Cipher Cracking (Video)
- Vigenere Cipher Cracking (Video)
- Homework 3 Questions (PDF) Use these to determine your answers before submitting them in Canvas.
- Cipher Text Files for Homework – The cipher text in the PDF may be wrong. Use these files instead. (.zip)
- Other Resources
Test 1
4 – Cryptography Goes Digital
- Lecture Notes – Things I would normally tell you in class (PDF)
- Homework 4 Questions (PDF)
- Demonstration of XOR and the Vernam Cipher (Video)
- Encrypting Text with the Vernam Cipher – How to convert text to ASCII binary (Video)
- Decrypting to Text with the Vernam Cipher (Video)
- LCG Explanation and using the MOD function to limit output (Video)
5 – Symmetric Stream Ciphers
6 – Symmetric Block Ciphers
- Lecture Notes – Things I would normally tell you in class (PDF)
- Homework 6 Questions (PDF)
- Data files for homework (.zip)
- The Difference Between Counter, Seed/Salt, Nonce, Initialization Vector and Key Stream in Block Ciphers (Video)
- AES Usage, It’s Everywhere (Video)
- How to See AES in Web Servers and Browsers (Video)
- How to See AES in Windows 10 (Video)
- Checking CPU for AES Support with cpu-z (Video)
- Cryptool (.zip) – You must unzip this before running the install.
- AES Encryption with cryptool (Video)
- AES Decryption with cryptool (Video)
- Cracking AES with Cryptool (Video)
7 – Cryptographic Hashing, MAC, HMAC and GMAC
- Introduction to Hashing (Video)
- How hashes produce a single number (Video)
- Hash Function Usage (Video)
- Cryptographic Hash Requirements Introduction and Example Hash Functions (Video)
- Cryptographic Hash Fixed Size Output Requirement (Video)
- Cryptographic Hash Deterministic and Highly Randomized Requirements (Video)
- Cryptographic Hash Pre-Image Resistance (One Way Function) Requirement (Video)
- Cryptographic Hash Second Pre-Image Resistance Requirement and How Big is Big (Video)
- Cryptographic Hash Collision Resistance Requirement and Size Requirement Calculation w Birthday Problem (Video)
- General Design of Cryptographic Hash Functions (Video)
- Creating hashes and HMAC tags with Cryptool (Video)
- SHA3 (Keccak) Design (Video)
- Introduction to Authentication, Hash, and MAC (Video)
- Authentication with HMAC and GMAC (Video)
8 – Asymmetric Encryption
- Lecture Notes
- Background and History – Additional Reading and References
- The First Amendment of The US Constitution with Commentary
- (PDF of Previous site if it’s not available online)
- Near Vs. Minnesota
- The Complete Story of The Progressive’s H-Bomb Article and Prior Restraint
- The Progressive’s H-Bomb Article
- (PDF of Previous site if it’s not available online)
- Leaks, Leakers, and Journalists: Adding Historical Context to the Age of WikiLeaks
- (PDF of Previous site if it’s not available online)
- The Venona Story from the NSA Archives
- (PDF of Previous site if it’s not available online)
- Asymmetric Encryption Introduction & Overview (Video)
- The RSA Mid-Level Explanation (Video)
- Diffie-Hellmann Mid-Level Explanation (Video)
- ECC Mid Level Explanation
- The MOD Function, Congruence Notation and Solving Congruencies (Video)
- Viewing and Generating RSA Keys, Factoring N (Video)
- Encrypting & Decrypting RSA (Video)
- Generating Diffie-Hellman Keys
- Working with Elliptic Curves (Video)
9 – PKI
- Introduction to TLS and PKI (Video)
- Manual Steps Performed by TLS (Video)
- TLS Overview (Video)
- PKI Overview (Video)
- OpenSSL Install (Video)
- Reading X509 Certificate Files (.cer) with OpenSSL (Video)
- Viewing Certificate Authorities and Error Messages (Video)
- Gmail encryption w Mailvelope. Step 1 install and generate keys (Video)
- Gmail encryption w mailvelope. Step 2 sharing keys, encrypting/decrypting mail (Video)
