Notes for January 23, 1998

  1. Greetings and felicitations!
    1. Reading: Pfleeger, pp. 91-118
  2. Puzzle
    1. Point is that PGP relies on 2 keys, derives strength from weakest of them
  3. RSA
    1. Provides both authenticity and confidentiality
    2. Go through algorithm:
      Idea: C = Me mod n, M = Cd mod n, with ed mod PHI(n) = 1.
      Proof: MPHI(n) mod n = 1 [by Fermat's theorem as generalized by Euler]; follows immediately from ed mod PHI(n) = 1.
      Public key is (e, n); private key is d. Choose n = pq; then PHI(n) = (p-1)(q-1).
    3. Example:
      p = 5, q = 7; n = 35, PHI(n) = (5-1)(7-1) = 24. Pick d = 11. Then de mod PHI(n) = 1, so choose e = 11. To encipher 2, C = Me mod n = 211 mod 35 = 2048 mod 35 = 18, and M = Cd mod n = 1811 mod 35 = 2.
    4. Example: p = 53, q = 61, n = 3233, PHI(n) = (53-1)(61-1) = 3120. Take d = 791; then e = 71. Encipher M = RENAISSANCE: A = 00, B = 01, ..., Z = 25, blank = 26. Then:
      M = RE NA IS SA NC Eblank = 1704 1300 0818 1800 1302 0426
      C = (1704)71 mod 3233 = 3106; etc. = 3106 0100 0931 2691 1984 2927
[ ended here ]
  1. Authentication:
    1. validating client (user) identity
    2. validating server (system) identity
    3. validating both (mutual authentication)
  2. Basis
    1. What you know
    2. What you have
    3. What you are
  3. Passwords
    1. How UNIX does selection
    2. Problem: common passwords; Go through Morris and Thompson, Klein and mine, etc.
    3. May be pass phrases: goal is to make search space as large as possible and distribution as uniform as possible
    4. Other ways to force good password selection: random, pronounceable, computer-aided selection
    5. Go through problems, approaches to each, esp. proactive
  4. Password Storage
    1. In the clear; MULTICS story
    2. Encipheres; key must be kept available; get to it and it's all over
    3. Hashed; present idea of one-way functions using identity and sum
    4. Show UNIX version
  5. Attack Schemes Directed to the Passwords
    1. Exhaustive search: UNIX is 1-8 chars, say 96 possibles; it's about 7e16
    2. Inspired guessing: think of what people would like (see above)
    3. Random guessing: can't defend against it; bad login messages aid it
    4. Scavenging: passwords often typed where they might be recorded as login name, in other contexts, etc.
    5. Ask the user: very common with some public access services
    6. Expected time to guess
  6. Password aging
    1. Pick age so when password is guessed, it's no longer valid
    2. Implementation: track previous passwords vs. upper, lower time bounds
  7. Ultimate in aging: One-Time Pads
    1. Password is valid for only one use
    2. May work from list, or new password may be generated from old by a function
    3. Example: S/Key
  8. Challenge-response systems
    1. Computer issues challenge, user presents response to verify secret information known/item possessed
    2. Example operations: f(x) = x+1, random, string (for users without computers), time of day, computer sends E(x), you answer E(D(E(x))+1)
    3. Note: password never sent on wire or network
    4. Attack: monkey-in-the-middle
    5. Defense: mutual authentication (will discuss more sophisticated network-based protocols later)
  9. Biometrics
    1. Depend on physical characteristics
    2. Examples: pattern of typing (remarkably effective), retinal scans, etc.
  10. Location
    1. Bind user to some location detection device (human, GPS)
    2. Authenticate by location of the device


You can also see this document in its native format, in Postscript, in PDF, or in ASCII text.
Send email to [email protected].

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



Page last modified on 1/28/98