Cryptography

Table of Contents

1 Secure Sockets Layer/TLS

1.1 Handshake Protocol

Establish shared secret key using public-key cryptography

1.2 Record Layer

Transmit data using shared secret key

2 Symmetric Encryption

  • k: secret key (e.g. 128bits)
  • E: encryption algorithm
  • D: decryption algorithm
  • m, c: plaintext, ciphertext

\[E(k, m) = c\] \[D(k, c) = m\]

Both E and D are public known

2.1 Single Use Key

2.2 Multi Use Key

3 Cipher History

3.1 Substitution Cipher(use substitution table)

  • Caesar Cipher: shift by 3 a->d
  • Large key spaces: 26 letters -> 26!

3.1.1 Easy to decipher

  1. Use frequency of English letters. e.g. 'e', 't', 'a'
  2. Use frequency of pairs of letters(digrams). e.g. 'he', 'an', 'th'

3.2 Vigener Cipher(16'th century, Rome)