Post
Topic
Board Development & Technical Discussion
Re: Is the output of hash function evenly distributed?
by
arulbero
on 09/12/2016, 07:56:33 UTC
Good point. Collision resistance comes from the fact that its uniformly distributed.  

good distribution --> collision resistance ? No, example: SuperFastHash

http://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed
Quote
I think the more important takeaway is that there are two classes of algorithms when it comes to collisions:

    collisions rare: FNV-1, FNV-1a, DJB2, DJB2a, SDBM
    collisions common: SuperFastHash, Loselose

And then there's the how evenly distributed the hashes are:

    outstanding distribution: Murmur2, FNV-1a, SuperFastHash
    excellent distribution: FNV-1
    good distribution: SDBM, DJB2, DJB2a
    horrible distribution: Loselose


collision resistance --> uniformity    but uniformity != random uniformity  

https://research.neustar.biz/2012/02/02/choosing-a-good-hash-function-part-3/
Quote
A hash function ought to distribute its keys uniformly across its output range.
Now, uniformity is different from random uniformity.