A cipher is an algorithm (or set of algorithms) for translating between plain text and cipher text. Ideally, cipher text is meaningless to all but the intended recipient.
Meet me at the library at noon.
→
Encrypt
→
0lltC0lCht CtolCspi5h 5yChtC1221
Meet me at the library at noon.
→
Encrypt
→
0lltC0lCht CtolCspi5h 5yChtC1221
⟶
0lltC0lCht CtolCspi5h 5yChtC1221
→
Decrypt
→
Meet me at the library at noon.
Meet me at the library at noon.
→
Encrypt
→
0lltC0lCht CtolCspi5h 5yChtC1221
⟶
0lltC0lCht CtolCspi5h 5yChtC1221
0lltC0lCht CtolCspi5h 5yChtC1221
→
Decrypt
→
Meet me at the library at noon.
Cryptographic systems by Level of Difficulty (to crack)
NK N ZQH AHZMVA Q FAZTAC GAFFQUA, CBAH RMO ZQH VAZMVA GR FAZTAC GAFFQUA. BMIAXAT, N INSS CTR CM GQYA NC ZBQSSAHUNHU KMT RMO!
Vigenère cipher
Vigenère cipher
Key: BELMONT
m
e
s
s
a
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
s
s
a
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
s
a
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
→
D
s
a
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
→
D
s
→
E
a
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
→
D
s
→
E
a
→
O
g
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
→
D
s
→
E
a
→
O
g
→
T
e
Vigenère cipher
Key: BELMONT
m
→
N
e
→
I
s
→
D
s
→
E
a
→
O
g
→
T
e
→
X
Vigenère cipher
How many possible encryptions?
How do you decrypt a message?
What are the weaknesses?
Enigma Machine
Vigenère is a polyalphabetic cipher. Think of Enigma as a compound polyalphabetic cipher where each character gets multiple substitutions from multiple alphabets which change with every keystroke.
Modern cryptographic systems are math-based, and primarily built around computational complexity.
One strategy is to leverage one-way functions, operations which are computationally easy in one direction, and exceedingly difficult to reverse.
The classic example of a one-way function is multiplication.
It took me 0.00034 seconds to multiply two (prime) numbers together to get: