If you're seeing this message, it means we're having trouble loading external resources for Khan Academy.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Journey into Cryptography

8 videos
1 skill
6 talkthroughs
Explore how we have hidden secret messages through history.

What is cryptography?

What is Cryptography? A story which takes us from Caesar to Claude Shannon.

The Caesar cipher

Brit explains the Caesar cipher, the first popular substitution cipher, and shows how it was broken with "frequency analysis"

Caesar Cipher Exploration

Type a message in the top box, then click and turn the wheel to encrypt it.

Frequency Fingerprint Exploration

Did you know that when you communicate you are following a pattern without realizing it? <br> Questions: <br> 1. Why do we follow this pattern without thinking? <br> 2. Would it be different for different languages? <br> 3. How could we ...

Polyalphabetic cipher

Brit introduces the polyalphabetic cipher, which creates a lighter fingerprint than the Caesar cipher.

Polyalphabetic Exploration

Try out a polyalphabetic cipher

The one-time pad

The perfect cipher

Perfect Secrecy Exploration

Explore how random shifts flatten your frequency fingerprint

Frequency stability property short film

Can you tell the difference between actions based upon flipping a coin and those based upon blind guessing or simulating randomness? This short video examines the frequency stability property.

Frequency Stability Exploration

Can you fake a coin flip?

Coin flip sequences

Determine if a sequence of heads and tails was generated with a fair coin, unfair coin, or human guesses.

The Enigma encryption machine

WW2 Encryption is explored with a focus on the Enigma. Read more here.

Perfect secrecy

Claude Shannon's idea of perfect secrecy: no amount of computational power can help improve your ability to break the one-time pad

Pseudorandom number generators

Random vs. Pseudorandom Number Generators

Random Walk Exploration

generate pseudorandom vs. random walks