How is the diffusion property of a hash function stronger than the injection property?

49 Views Asked by At

https://www.cs.cornell.edu/courses/cs312/2008sp/lectures/lec21.html says

For a hash table to work well, we want the hash function to have two properties:

Injection: for two keys k1 ≠ k2, the hash function should give different results h(k1) ≠ h(k2), with probability m-1/m.

Diffusion (stronger than injection): if k1 ≠ k2, knowing h(k1) gives no information about h(k2). For example, if k2 is exactly the same as k1, except for one bit, then every bit in h(k2) should change with 1/2 probability compared to h(k1). Knowing the bits of h(k1) does not give any information about the bits of h(k2).

Does "Diffusion (stronger than injection)" mean that if a hash function has the diffusion property, then it has the injection property?

If the injection property is a consequence of the uniformity property, then it is also a concept in probability theory, isn't it?

If the diffusion property is a concept in the metric space, how can diffusion be comparable and imply the injection property described in probability theory?

Thanks.

1

There are 1 best solutions below

0
On

Roughly speaking, yes. Suppose $h(k_1)=h(k_2)$ holds with probability $1/2$. Then knowing $h(k_1)$ gives you information about $h(k_2)$: there is a 1/2 chance that you can predict the value of $h(k_2)$. However, neither of these two properties are defined in a precise, rigorous way, so it's not possible to give an absolute definitive "yes".