Applied math
Practice this topic
Journey into Cryptography
How have humans protected their secret messages through history? Apply probability to solve an age old problem.
Ancient Cryptography
Explore how we have hidden secret messages through history.
- What is Cryptography?
- Probability Space
- Probability space
- The Caesar Cipher
- Caesar Cipher Exploration
- 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
Cryptography Challenge
Cryptography Challenge. Put your knowledge to the test!
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
Checking if a number is prime turned out to be a difficult to answer quickly. Would access to coin flips speed up a primality test? How would this work?