Cryptology
Spring 2000
Homework Six

Make sure to do the reading before class, March 7. The homework is due Tuesday, March 28.

Reading:

  1. Singh, pp. 252--271.
  2. Stallings, pp. 163--172.
  3. Stallings, pp. 131--149. (If you have read this already, be sure to review it before class.)
  4. Review: "Number Theory" handout about the Extended Euclidean Algorithm.
(If you have not yet picked up either of the last two handouts, I have copies available outside my office. Please take only one copy of each!)


Problems:

    Privacy

    Consider the difference between some traditional (pre-Internet) uses of cryptography and some modern-day uses. For example, perhaps if you were living almost a century ago, you might not concern yourself about the privacy of everyday messages (e.g., US Mail, telegraph, telephone, and radio). Every so often, you would have important news to send to someone that might warrant the use of a cipher. Contrast that with carrying on a daily e-mail dialogue with a close friend. You realize that everyone can eavesdrop on your dialogue so you opt to use a cryptosystem.

  1. It certainly seems to be the case that more people are using or relying on cryptography on a daily basis than previously in history. Perhaps people have more important things to say or have a stronger need for privacy. Or, perhaps there are other reasons. In a clear and concise paragraph, comment on these issues.

  2. How does this increased frequency of the "need" for private communication effect the choice of a cryptosystem?


    Key Management

    Suppose Abby, Brendan, and Cathy all are using e-mail. They wish to use DES so that each pair can communicate in secret: In other words, Abby and Brendan need to share a secret DES key, but do not wish Cathy to know it. Sometimes Abby and Cathy wish to exchange messages they do not want Brendan to read, so they need a separate key. Likewise, sometimes Brendan and Cathy wish to communicate privately, without Abby being able to eavesdrop, so they too need a distinct key.

    Consider what happens with a larger group of people, all of who wish to be able to communicate in secret in pairs: that is, at some time, any two of the people may wish to send messages back and forth so that no one else in the group can read their messages.

  3. Consider a community of 1000 people. Each person wishes to be able to communicate with the other 999 people, one at a time, in secret. How many different keys must the group have so that everyone can have secret communication (using DES) with everyone else?

  4. Suppose the same community of 1000 people adopts a public-key cryptography system. Now how many different keys do they need now?

  5. Comment on the significance of the difference between your two answers.


    Diffie-Hellman Key Exchange

  6. For this problem, we (you and I) will practice Diffie-Hellman Key Exchange. In particular, send me an e-mail message requesting that we generate keys. We will then follow a procedure just like the one illustrated on p. 265 of Singh. The solution that you submit for this problem should be the key that you arrive at. (In Singh's example, the key is 9.) Show any necessary work.


    Feistel Ciphers

    For the following problems think of the Feistel cryptosystem in which the "mangler" function, F, is just the the exclusive-or of the bits in the right half of the input (R) with the key that corresponds to that round (as on the previous homework and as we did in class on 2/29). It will also be useful to consult this ASCII table for conversion between characters, binary numbers, and decimal numbers. For example, the table indicates that ASCII character 70 is F and that the number 70 is written as 01000110 using 8-bit binary notation. The table allows us to convert easily between all three representations. For example we might write:

    
      Hello
    
    
    or
    
      72  101  108  108  111
    
    
    or
    
       01001000
       01100101
       01101100
       01101100
       01101111
    
    

  7. Using a Feistel cipher consisting of 4 rounds, a block size of 8 bits, and the key
      0001001111101011
    
    encrypt the plaintext
      Obvious
    
    using the decimal notation. That is, first translate the plaintext to a sequence of binary numbers (using the ASCII codes corresponding to each symbol), then use the Feistel cipher to generate a new sequence of binary numbers, and then translate that sequence into a list of decimal numbers.

  8. Using a Feistel cipher consisting of 4 rounds, a block size of 8 bits, and the key
      1101101110010110
    
    decrypt the ciphertext
       3   185   3   207   48
    
    That is, first translate the decimal numbers into a sequence of binary numbers, then use the Feistel cipher (with the keys in reverse!) to generate another sequence of binary numbers, and then translate that sequence into a list of symbols to form an English phrase.

  9. This problem concerns the cryptanalysis of a Feistel cipher when part of the key is already known. Suppose you know that the plaintext symbol "e" is encrypted as the ciphertext symbol "L" (i.e., as the ASCII code for "L") using a Feistel cipher consisting of 4 rounds, a block size of 8 bits, and that the first four bits of the key are 0101 and the last four bits of the key are 0110. Find the missing bits of the key. (Hint: if a, b, and c are all binary numbers then the a XOR b XOR c XOR a = b XOR c. In other words, using the same number twice in a sequence of exclusive or operations cancels out.)

  10. Comment on the effectiveness of using exclusive or as the mangler function (F) in DES and other Feistel ciphers.