Lecture note on Cryptography

á Feb
27^{th} 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

á 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) =
3x^{3} + x^{2} + x + 2