
Prospecting for Hash Functions - abbeyj
https://nullprogram.com/blog/2018/07/31/
======
amenghra
I think a non-cryptographic hash function which leverages AES-NI instructions
(e.g. by performing one round of AES using a fixed key) will perform better in
every possible way: high avalanche effect, low bias AND possibly better
performance.

~~~
andrewf
Go does this for its native map (dictionary) type.
[https://codereview.appspot.com/7543043](https://codereview.appspot.com/7543043)

~~~
amenghra
A fun exercice would be to compare this to SipHash.

------
tehsauce
Really cool project! This is a wonderful way to approach a problem. Before
thinking too hard about it, cleverly applying the brute strength of the
machine and saving a lot of work. I'd read more posts like this

------
bloak
This article is about finding non-crypto hash functions that will be
implemented on a general-purpose computer. Quite a lot of people have written
on that subject. A different question is how to implement a non-crypto hash
function in hardware; I only know about one paper on that, from 2011: "Non-
crypto hardware hash functions for high-performance networking ASICs". Perhaps
crypto accelerators are sufficiently fast and sufficiently widely available on
different architectures that they should be used instead in most cases?

------
nielsbot
Makes you wonder how the constants for the winning hash functions were
chosen... (The 32/64 bit "ones to beat", not the best ones produced by this
guy's project)

------
jnurmine
Not an expert but the "sloshing" construct looks like multiple xorshift*
operations.
[https://en.m.wikipedia.org/wiki/Xorshift](https://en.m.wikipedia.org/wiki/Xorshift)

------
CJefferson
One reason I really like this is it gives me confidence in the results when
multiple independent researchers end up at the same result.

------
known
A brief look at the Linux-kernel random generator interfaces
[https://nikmav.blogspot.com/2016/10/random-generator-
linux.h...](https://nikmav.blogspot.com/2016/10/random-generator-linux.html)

------
rurban
I'll add it to smhasher, but it looks like Murmur3 to me.

