Lecture 20 Outline (May 13, 2015)

Reading: §9.4, 10.1–10.4, 10.6
Assignment: Homework 3, due May 20, 2015


  1. Greetings and felicitations!
  2. Cryptographic Checksums
    1. Function y = h(x): easy to compute y given x; computationally infeasible to compute x given y
    2. Variant: given x and y, computationally infeasible to find a second x′ such that y = h(x′)
    3. Keyed vs. keyless
  3. Key Exchange
    1. Needham-Schroeder and Kerberos
    2. Public key; man-in-the-middle attacks
  4. Key Generation
    1. Cryptographically random numbers
    2. Cryptographically pseudorandom numbers
    3. Strong mixing function
  5. Cryptographic Key Infrastructure
    1. Certificates (X.509, PGP)
    2. Certificate, key revocation
  6. Digital Signatures
    1. Judge can confirm, to the limits of technology, that claimed signer did sign message
    2. RSA digital signatures: sign, then encipher

The PGP secure mailing system uses both RSA and AES (or a number of other ciphers, but we’ll use RSA as the interchange key cipher and AES as the data encryption cipher here). When one installs PGP, the software generates two large (1000 bits or so) numbers, to produce a modulus of 2048 bits. Such a number is too large to be factored easily. The private and public keys are generated from these quantities. The private key is enciphered with a classical cipher using a user-supplied pass phrase as the key. To send a message, a 128-bit key is randomly generated, and the message enciphered using IDEA with that key; the key is enciphered using the recipient’s public key, and the message and enciphered key are sent.
  1. If you needed to compromise a user’s PGP private key, what approaches would you take?
  2. It’s often said that PGP gets you the security of a key with length 2048. Do you agree?


You can also obtain a PDF version of this. Version of May 12, 2015 at 7:24PM