Make sure to do the reading before class, March 7. The homework is due Tuesday, March 28.
Reading:
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.
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.
Diffie-Hellman Key Exchange
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:
Helloor
72 101 108 108 111or
01001000 01100101 01101100 01101100 01101111
0001001111101011encrypt the plaintext
Obvioususing 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.
1101101110010110decrypt the ciphertext
3 185 3 207 48That 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.