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

message^{public key} \textbf{mod} \;standard = garbage
garbage^{private key} \textbf{mod} \; standard = message

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:

anything^{A} \textbf{mod} \; prime = anything^{B} \textbf{mod} \; prime
anything^{5} \textbf{mod} \; 71 = anything^{29} \textbf{mod} \; 71

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...

y^2 = x^3 + ax + b

Whew!

That's all I got.

Cryptography

By Scott Tolksdorf

Cryptography

  • 45