Suppose that you have a secure block cipher, but no hash function. Also, no key is available. For simplicity, assume that the block cipher has key length and block length both equal to n.
a. How can you use the block cipher as a cryptographic hash function, assuming that you only need to hash one block of exactly n bits?
b. How can you use the block cipher as a cryptographic hash function when the message consists of multiple n-bit blocks?
Suppose that you know the output of an HMAC is X and the key is K, but you do not know the message M.
Can you construct a message M’ that has its HMAC equal to X, using the key K? If so, give an algorithm for constructing such a message. If not, why not? Note that we are assuming that you know the key K, and the same key is used for both HMAC computations.
Consider a CRC that uses the divisor 10011. Suppose the data value is 11010110. Trudy wants to change the data to 111*****, where “*” indicates that she doesn’t care about the bit in that position, and she wants the resulting checksum to be the same as for the original data. Determine all data values Trudy could choose.