question archive Consider a hash function ???????????????????? that starts with an 32-bit initial value of c09db506 and repeatedly XORs it with 32-bit blocks of the input to produce a 32-bit output
Subject:Computer SciencePrice: Bought3
Consider a hash function ???????????????????? that starts with an 32-bit initial value of c09db506 and repeatedly XORs it with 32-bit blocks of the input to produce a 32-bit output. For example, the input de0fc223 would generate the following output:
????????????????????(de0fc223) = c09db506 ⊕ de0fc223 = 1e927725
and the input cd1aa915 f08d7db7 would generate the following output:
????????????????????(cd1aa915 f08d7db7) = c09db506 ⊕ cd1aa915 ⊕ f08d7db7 = fd0a61a4
(a) Approximately how many steps would be required to perform a brute force attack to find a preimage for a given output of this hash function? (2 pts)
(b) Approximately how many steps would be required to perform a brute force birthday attack to find a collision for this hash function? (2 pts)
(c) Use the properties of the XOR operation to find a 32-bit preimage for the output 666cdce9. (3 pts)
(d) Find a 32-bit second preimage for the output fd0a61a4 calculated above. (3 pts)
(e) Find a collision other than the one demonstrated by your answer to (d). (hint: pick a 32-bit input, then find a 64-bit input that generates the same output using the properties of XOR.) (3 pts)