Exercise 5.3

Problem

Let (Gen, HH) be a collision-resistant hash function. Is (Gen, H^\hat H) defined byH^s(x)=defHs(Hs(x))\hat H ^s (x) \overset{def}{=} H^s(H^s(x))necessarily collision resistant?

Solution

Assuming that H^\hat H is not collision-resistent, i.e.

∃x≠y,H^s(x)=H^s(y)\exists x\neq y, \hat H^s(x) = \hat H^s(y)

Thus Hs(Hs(x))=Hs(Hs(y))H^s(H^s(x)) = H^s(H^s(y))

  • If Hs(x)=Hs(y) H^s(x) = H^s(y), (x,y)(x,y) is a pair of collision for HH

  • If Hs(x)≠Hs(y) H^s(x) \neq H^s(y), let x′=Hs(x)x'=H^s(x), y′=Hs(y)y'=H^s(y).

    • Hs(Hs(x))=Hs(Hs(y))H^s(H^s(x)) = H^s(H^s(y)) , (x′,y′)(x',y') is a pair of collision for HH

Therefore, H^\hat H is not collision-resistent implies HH is not collision-resistent. Then HH is collision-resistent implies H^\hat H is collision-resistent.

Last updated