A printable PDF is available.

# Homework 10 – Due Tuesday, April 11

- Draw and label a picture that illustrates the Merkle-Damgard hash function construction. Make sure you clearly label the input to the hash function and the output (the hash value).
- Since a MAC is conceptually like adding a key to a hash function, let's try
taking the key away from a MAC and seeing if it makes a good hash
function. In particular, consider the Data Authentication Algorithm
(sometimes called CBC-MAC) using DES, which is described in Section
12.6, where the input
consists of an
integer number of 64-bit blocks:
*D*. We then "take away" the key by setting it to zero, and computing_{1},...,D_{N}*O*= DES(0,_{1}*D*)_{1}

*O*= DES(0,_{2}*D*XOR_{2}*O*)_{1}

...

*O*= DES(0,_{N}*D*XOR_{N}*O*)_{N-1}

*O*. Is this preimage resistant? (_{N}*Justify your answer, giving an attack algorithm if appropriate.*) - For the hash function in the previous problem, can you find
collisions efficiently (given
*D*can you find a different input that gives the same hash value)? (_{1},D_{2},...,D_{N}*Justify your answer, giving an attack algorithm if appropriate.*)