Cryptography Daily Schedule Term 3
Course home page
See also Daily Schedule Term 2
Week 8 — Defeating Enigma with the Bombes
Week 9 — Midterm Exam — Start Snowden — Start DES
- Monday, Nov. 1 — Midterm — Read the Preface and Chapter 1 of Snowden — Optional and on your own, Read Singh’s account of cracking the Enigma (Singh Chapter 4) which is quite simplified, but which has some material that is complementary to Welchman (especially Rejewski’s early work on cracking Enigma before Germany invaded Poland — The Polish work is well-summarized in a Sky History article) — Assignment for Thursday: Generating DES Sub-Keys
- Thursday, Nov. 4 — The first part of Singh Chapter 6, pp. 243-252 up to DES — Casually read the DES standard, but carefully study Figure 3 which you will be using in the assignment — Chapters 2, 3, and 4 of Snowden — Assignment for Monday: complete DES Sub-Key generation — Here is an improved version of my Notebook 6.1 for you to leverage: Notebook 6.2 Improved Generating DES Sub-Keys
Week 10 — Finish DES — Modular Arithmetic — Diffie-Hellman-Merkle Key Exchange
- Monday, Nov. 8 — Continue Singh, Chapter 6, pp. 252-267, Modular Arithmetic and Diffie-Hellman-Merkle Key Exchange — Chapters 5, 6, 7 of Snowden — Complete DES sub-key generation notebook Solution — It would also be very educational for you to look at my Midterm Exam Solution and modify it to make it tail-recursive
- Thursday, Nov. 11 — Understand the Proof and Complete the Investigation in the Modular Arithmetic and Key Generation notebook — Continue Singh, Chapter 6, pp. 268-279, Factorization into Primes and RSA Cryptography — Chapters 8, 9, and 10 of Snowden
Week 11 — RSA Public-Key Cryptography — More Developments in Public-Key Cryptography: GCHQ and PGP
- Monday, Nov. 15 — My Key Generation investigation — Read Appendix J of Singh — Finish Singh, Chapter 6, pp. 279-292, Secret Developments in Britain’s GCHQ — Chapters 11, 12, 13, and 14 of Snowden — Start Hellman, The Mathematics of Public-Key Cryptography — Implement the algorithms in the Prime Number Generation notebook
- Thursday, Nov. 18 — All of Singh, Chapter 7, pp. 293-313, Phil Zimmermann and PGP (“weapons-grade” cryptography for everbody) — Chapters 15, 16, and 17 of Snowden — Continue reading Hellman — My notebook investigation for prime number generation — A Tail-Recursive Version of GCD (or how I learned that Python does not have tail-call optimization!) — Great summary of primality tests that Hellman only alludes to.
Week 12 — Continue Public-Key Cryptography — Start Blockchain
- Monday, Nov. 22 — Do examples of the computations in Hellman, for example the sample knapsack problem I put on the board — Read Chapters 18, 19, and 20 of Snowden — Read Sections 1-3 (just two pages!) of the original Bitcoin white paper — Return to Hellman, and understand how public-key cryptography can be used to create cryptographic signatures — Read up on md5 as an example of a hash function (invented by Ronald Rivest, and still used a hash function, but no longer as a cryptographic hash, because it has been defeated) and also find out what it means for a hash algorithm to have been defeated by reading Some Wikipedia Excerpts on MD5 and Cryptographic Hashes
Week 13 — Finish Public Key Cryptography — Continue Blockchain — The conda
Package Manager
- Monday, Nov. 29 — Last detail to understand from Hellman: Why is φ(n) the relevant modulus in the exponent? That is the Fermat-Euler Theorem (aka “Euler’s Totient Theorem”) and is apparently pretty hard! How about we all just understand the proof of the much simpler case known as Fermat’s Little Theorem — Read Sections 4-7 (just two more pages) of the Bitcoin white paper — Read Chapters 21, 22, and 23 of Snowden
- Thursday, Dec. 2 — Read Sections 8-10 of the Bitcoin white paper — Read Chapters 24, 25, and 26 of Snowden — Assignment for Monday, Dec. 6: complete the Bitcoin toy in this notebook — To even start the assignment, you will need to use conda to install pycryptodome — Perhaps knowing how I did that on my system will help
Week 14 — Finish Snowden — Finish Blockchain — Exceptions in Python — The Cracking of Linear B
- Monday, Dec. 6 — Read Sections 8, 9, and 10 of the Bitcoin white paper — Finish Snowden (Chapters 27, 28, and 29) — To complete the assignment made on Dec. 2, you will need to learn about “handling exceptions” in Python
- Thursday, Dec. 9 — Finish Bitcoin White Paper (Sections 11 and 12) — My Solution to the Bitcoin Assignment — Python Calculation of Bitcoin Attacker Success Probability — Chapter 5 of Singh, pp, 191-217 — Champollion Cracks Egyptian Hieroglyphics and Kober, Chadwick, and Ventris Crack Linear B — Read Chapter 2 of John Chadwick, The Mycenaeans, 1976
Week 15 — Quantum Cryptanalysis and Quantum Encryption
- Monday, Dec. 13 — Quantum Code-Breaking — Start Singh Chapter 8, pp. 317-331 — Supplementary Articles on Current Status of Quantum Computing from Physics Today and Scientific American — IBM’s Introduction to Shor’s Algorithm — Optionally watch John Preskill Y Combinator Interview — Big-O Notation — Even- and Odd-Parity Error Correction
- Thursday, Dec. 16 — Quantum Cryptography — Finish Singh Chapter 8, pp. 331-350 — Quantum Mechanics Readings from Richard Feynman and Albert Stetz — Quantum Interference — The Schrodinger’s Cat Paradox