Applied math
Practice this topic
Journey into Cryptography
How have humans protected their secret messages through history? What has changed today?
Ancient Cryptography
Explore how we have hidden secret messages through history.
- What is Cryptography?
- Probability Space
- The Caesar Cipher
- Caesar Cipher Exploration
- Caesar Cipher Decryption
- Frequency Fingerprint Exploration
- Polyalphabetic Cipher
- Polyalphabetic Exploration
- The One-Time Pad
- Perfect Secrecy Exploration
- Frequency Stability
- Coin flip sequences
- Frequency Stability Exploration
- The Enigma Encryption Machine (case study)
- Perfect Secrecy
- Pseudorandom Number Generators
- Random Walk Exploration
Modern Cryptography
A new problem emerges in the 20th century. What happens if Alice and Bob can never meet to share a key in the first place?
- The Fundamental Theorem of Arithmetic
- The fundamental theorem of arithmetic
- Prime density spiral
- Public Key Cryptography: what is it?
- The Discrete Logarithm Problem
- Review Modular Arithmetic
- Diffie-Hellman Key Exchange
- RSA Encryption: step 1
- RSA Encryption: step 2
- RSA Encryption: step 3
- Time Complexity (Exploration)
- Euler's Totient Function
- Euler Totient Exploration
- RSA Encryption: step 4
- What should we learn next?
Modular Arithmetic
This is a system of arithmetic for integers. These lessons provide a foundation for the mathematics presented in the Modern Cryptography tutorial.
Computational Number Theory
Why do Primes make some problems fundamentally hard? Build machines to perform primality tests!
- Primality Test
- Level 1: Primality Test
- Running Time
- Level 2: measuring running time
- Computer Memory (space)
- Binary Memory Exploration
- Algorithmic Efficiency
- Level 3: Challenge
- Sieve of Eratosthenes
- Level 4: Sieve of Eratosthenes
- Primality Test with Sieve
- Level 5: Trial division using sieve
- The Prime Number Theorem
- Prime Gaps
- Time Space Tradeoff
- Summary (what's next?)
Randomized Algorithms
Would access to coin flips speed up a primality test? How would this work?