Lecture 6 Flashcards

1
Q

What are the requirements of a hash function?

A
  1. Preimage-Resistance (One-Wayness)
    Given y, it is hard to find a value x such that H(x) = y
  2. 2-nd Preimage Resistance (Weak-Collision Resistance)
    Given x, it is hard to find a value that will reveal x from the function.
  3. Collision-Resistance (Strong Collision-Resistance)
    It is hard to find two distinct values x’, x such that H(x’) = H(x).

Strong-Collision resistance also implies Weak-Collision resistance. If a hash function is not the latter, it can not be the former either.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

How can we avoid collisions in hash functions?

A

We can’t, as the amount of possible inputs will always be bigger than the amount of possible outputs.

All we can do is attempt to minimise the chance of an adversary finding these collisions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How many attempts at most does it take to find a collision in a hash function?

A

If the output of a hash function is n bits long, collisions will be found after hashing at most 2^(n + 1) messages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Considering the birthday paradox, around how many hashes need to be completed to find a collision?

A

2^(n / 2) attempts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly