Notes for October 27, 1999

  1. Greetings and Felicitations!
    1. Midterm moved to Friday, November 5, 1999
    2. Example program put out in ~cs153/bin; it's dec-where, hp-where, pc-where, sgi-where (one per type of system)
  2. Puzzle of the Day
  3. Classical
    1. monoalphabetic (simple substitution): f(a) = (a + k) mod n
    2. example: Cæsar with k = 3, RENAISSANCE -> UHQDLVVDQFH
    3. polyalphabetic: Vigenère, fi(a) = (a + ki) mod n
    4. cryptanalysis: first do index of coincidence to see if it's monoalphabetic or polyalphabetic, then Kasiski method.
    5. problem: eliminate periodicity of key
  4. Long key generation
    1. Running-key cipher: M=THETREASUREISBURIED; K=THESECONDCIPHERISAN; C=MOILVGOFXTMXZFLZAEQ; wedge is that (plaintext,key) letter pairs are not random (T/T, H/H, E/E, T/S, R/E, A/O, S/N, etc.)
    2. Enigma/rotor systems; wheels, 3 rotors and a reflecting one. Go through it; UNIX uses this for crypt(1) command.
    3. Perfect secrecy: when the probability of computing the plaintext message is the same whether or not you have the ciphertext
    4. Only cipher with perfect secrecy: one-time pads; C=AZPR; is that DOIT or DONT?
  5. DES
    1. Go through the algorithm
  6. Public-Key Cryptography
    1. Basic idea: 2 keys, one private, one public
    2. Cryptosystem must satisfy:
      1. given public key, CI to get private key;
      2. cipher withstands chosen plaintext attack;
      3. encryption, decryption computationally feasible [note: commutativity not required]
    3. Benefits: can give confidentiality or authentiction or both

Send email to

Department of Computer Science
University of California at Davis
Davis, CA 95616-8562

Page last modified on 11/1/99