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