Read this assignment (and all the associated reading!) thoroughly before class on May 2. Be prepared to write about the reading in class. The homework is due Friday, May 5. .
Reading:
Review:
Problems:
Hash functions
In Stallings, on p. 253, the author lists criteria that a hash function should satisfy in order to be useful for message authentication. Some of these criteria are phrased as the following questions concerning potential hash function h:x
(a) Can h be applied to a block of data of any size?
(b) Does h produce a fixed-length output? (If so, how long is the output?)
(c) Given a message x, is h(x) relatively easy to compute even if x is quite large?
(d) One-way property. Suppose H is the hash code that results from applying h. How difficult is it to compute some x such that h(x) = H?
(e) Weak-collision resistance. Given a message x, and a hash code H that results from applying h (i.e., h(x) = H), how difficult is it to compute some other message y (that is not the same as x) such that h(x) = h(y)?
(ii) f2(x) = (x * x) mod 37
(iii)
f3(x) = x mod 340282366920938463463374607431768211456
(Note: 340282366920938463463374607431768211456 is 2 raised to the
128th power.)
Quantum Computing and Cryptography
Chaffing and Winnowing
For these problems, it may be useful to use the MD5 applet provided by Santeri Paavolainen at the University of Helsinki (santtu@iki.fi).
Suppose Alice uses chaffing and winnowing to send secret messages to Bob. For the authentication code she uses MD5 applied to the intended plaintext (the wheat) with a secret key (that she and Bob have previously agreed upon) tacked on to the end of each piece of plaintext before applying the hash function. To the chaff, she just applies MD5 directly. She sends to the world the following (the plaintext does not, of course, include the quotation marks):
("1. Bob, remember to attack", 2f0539ede8276bf2407ec134a0ea2b8d)
("1. Bob, remember to take", cdb01921ae1f35d3a24dd9cc33110068)
("2. at dawn!", 8d8db8e240219d3d367418d9b3482816)
("2. the trash out at noon.", 9ece67c224af20ab4ece8c816e93583b)
For the next problem, every participant in our class will share a secret key with me. The secret keys have been (or will be) established using Diffie-Hellman exchange. If you correctly performed Diffie-Hellman key exchange with me for Homework Six (or subsequently) and you remember that key, use it for this problem. Otherwise, send me an e-mail message ASAP to get a key.
I am sending secret messages to all of you using the chaffing and winnowing method. All the messages are here. The format of each message is: (M, h) where M is the plaintext message block and h is the hash code generated by applying MD5 to M with k appended to it, where k is a secret key.