Cryptography
What is Cryptography?
The process or skill of communicating in or deciphering secret writings or ciphers.
Symmetric Ciphers
They have some problems
Caesar Cipher
Input: Hello Team!
Output: Khoor Whdp!
Book cipher (Ottendorf cipher)
(Using War and Peace, [page#-word#])
Input: Hello Team!
Output: 285-32 120-5
Asymmetric Ciphers
You make two keys:
A, B
And a process where...
process(A, your_message) => garbage process(B, garbage) => your_message
the inverse is also true
A B
?
Diffie–Hellman key exchange
Let's get clever
Ensures that it came from Blue, and only Orange can open it
Ex1. Only Orange can open
Ex2. Came from Blue
Let's put both together
( )
( )
Under the Hood
Time to get mathy
the public and private key are very special in that they have this relationship.
Wait, How do we get these keys?
Two Methods:
RSA
- Uses Modular Arithmetic
- Older and well understood
- Very large numbers needed to be secure (3000 digits)
- Slower
Elliptical Curves
- Uses tangents to special curves
- Much newer (some backdoors found)
- Smaller numbers needed (200 digits)
- Much faster
RSA
Modular arithmetic is weird.
= 2 + 13 mod 12
= 15 mod 12
= 3
Every every prime number, there exists two numbers where this is true:
These two numbers are your keys
Elliptical Curves
Public Key: Point A + Point E
Private Key: Number of hops from A to E
There exists special curves where...
Whew!
That's all I got.
Cryptography
By Scott Tolksdorf
Cryptography
- 49