Lecture note on Cryptography

      Feb 27th 2007

      Arthit Hongchintakul

      arthith@seas.upenn.edu

Cryptography

      Confidentiality: Keeping secret

      Integrity: Messages are not tampered with along the way

      Authentication

      Non-repudiation: Cant say you didnt send it.

Terminology

      Plaintext: easy to read

      Ciphertext: obscured

      We need a two way conversion to/from the two.

Cipher Vs. Code

      Code: A translation on word, hard to implement in software

      Cipher: An algorithm to convert plaintext to cyphertext and vice versa

Cryptanalysis methods

      Known plaintext: the machine is compromised retrieve the emails to get lots of plain/cipher text.

      Chosen plaintext: consider the cipher as a black box. Input some selected text and see what comes out and figure out the key and the algorithm

Caesar: Rely on the secrecy of the algorithm.

Monoalphabetic: only 26 possible keys

Generalized monoalphabetic: increase the key sequence. p is a table of the alpha-permutation

      Solving Generalized monoalphabetic:

o      Letter frequency distribution stays the same, If we can match that with the natural distribution of English, we can convert back easily.

Polyalphabetic: use k p functions

      Break by guessing the key with each k-th letters

Diffusion: ciphertext should look random.

 

Computational security:

      Shared key: both parties have a shared secret key.

      Public key: Encrypt with public key: decrypt with a private one.

      Cryptographic hash: For integrity/authenticity

Slide 34: c(x) = 3x3 + x2 + x + 2