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: CanÕt say you didnÕt send it.

Terminology

á      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