CS337
Midterm exam
Due on paper, 4:30 PM Wednesday, 3/6/02

This is an exam. You may use the Internet, your textbook, your notes, your assignments, and your brain, but you may not consult people other than Jeff Ondich.

  1. (5 points) Briefly explain what RARP is. In particular, explain the problem that RARP was designed to solve.

  2. (10 points) Suppose my public key is (e,n) = (29,91), and any message sent to me must consist of a string of characters with ASCII value less than 91, encrypted one character at a time. Suppose you intercept the following message addressed to me:

    68 11 53 2 17 78 62 68 2 28 11 62 2 17 50 87 50 7

    What is my decryption key (d,n)? Use it to decrypt the intercepted message. You must show your work, since one might be able to decrypt the above message without breaking my key.

    You may find either Mathematica or the UNIX command "bc" helpful. Within bc, ^ is used for exponentiation, and % is used for mod.

  3. (10 points) This time, I've used LZW compression to compress another ASCII message. To do the compression, I used a 1024-element dictionary.

    69 65 84 32 84 72 257 32 82 262 262 260 262 70 76 257

    Figure out what the original message was, and show your work (including the final contents of the dictionary you construct as you decompress the message). Compute the compression ratio (that is, the number of bits in the compressed data divided by the number of bits in the original data).

  4. (3 points) I'm all out of jokes. Please tell me one.

  5. (20 points) Suppose I am logged on to prism.mathcs.carleton.edu, and I type the command "ftp ftp.ultralingua.com" with the intent to download a file via anonymous FTP. Suppose further that ftp.ultralingua.com is not in my DNS cache, that my IP routing table is as you will find it by logging onto prism and typing "netstat -r", and that my ARP cache is empty (by some bizarre and disturbing Act of the Test Writer).