CS337
Homework
Due Monday, 1/31/00

You may work together, but each writeup should be from no more than two people.


  1. Do Problems 7 and 10 on page 240 of Tanenbaum.

  2. Do Problems 6, 9, 13, 14, and 16 on page 762 of Tanenbaum.

  3. Consider the 12-bit (8 data bits, 4 check bits, even parity) Hamming code we discussed in class (it's also shown in Figure 3-6 on page 186 of Tanenbaum). Assuming no more than one-bit errors have been generated by transmission, what ASCII characters do each of the following 12-bit sequences represent?

    The following sequences have errors. Are they detectable? If you know that each has exactly two bits in error, are the errors correctable, and what ASCII characters might they each represent?



  4. Consider a CRC scheme using G(x) = x^4 + x^3 + x^2 + 1.



  5. The following list of decimal numbers should be interpreted as successive 12-bit dictionary indices sent using the Lempel-Ziv-Welch algorithm we went over in class on Friday, 1/28/00. You can also find a discussion of these algorithms in part 2, question 70, of the data compression FAQ.

    Your job is to (1) decompress this compressed message (which is a brief description of an out-take from the munchkinland scenes in The Wizard of Oz) and (2) report the ratio of the size of the compressed data to the size of the uncompressed data.

    116, 111, 109, 32, 256, 111, 116, 101, 100, 259, 111, 265, 256, 32, 97, 110, 264, 261, 268, 260, 262, 264, 274, 261, 266, 260

  6. Let's suppose you're working with an alphabet consisting of the letters a, b, c, d, e, and f. To send a message, you first eliminate all spaces and punctuation and break the message into pairs of letters. Each letter pair then becomes a number between 1 and 36 (aa=1, ab=2,..., ba=7,..., ff=36). (For those messages with an odd number of letters, you can use a=37,..., f=42 for that last lonely letter.)

    Once you've turned your message into a sequence of integers between 1 and 42, you can encrypt the message one integer at a time using your recipient's public RSA key. At the other end, your recipient decrypts the integers using her private RSA key, translates the resulting integers into pairs of letters, and guesses at where you intended the spaces and punctuation to go. The end.

    Suppose you have published your oh-so-secure public key (E,N) = (23,55) and someone has sent you the message "30 7 36 18". What's the message?

    The technique described above for encrypting messages has a major weakness in addition to the pathetic smallness of your public key. What's the extra weakness, and how could a malefactor exploit it?

By the way, this is what "Digital Webster" says:

male·fac·tor \'mal-e-,fak-ter\ n
[ME, fr. L, fr. malefactus, pp. of malefacere to do evil,
fr. male + facere to do Ð more at DO] (15c)
1: one who commits an offense against the law; esp: FELON
2: one who does ill toward another

malefactor n
syn CRIMINAL, felon, lawbreaker, offender
rel blackguard, knave, miscreant, rascal, rogue, scoundrel;
evildoer, sinner, wrongdoer



Jeff Ondich, Department of Mathematics and Computer Science, Carleton College, Northfield, MN 55057
(507) 646-4364, jondich@carleton.edu