Question

I am currently using a CRC32 hash to generate a locality sensitive hash for some of my data. For much the same reasons as PKBDF2 makes a better choice than, say, SHA26, for hashing passwords I deliberately want to use a slow hashing function to generate the hash table from which I then construct my LSH by taking the LSB value of each individual hash. The intent is to make the task of someone who wants to attempt a brute force attack by building a large dictionary as hard as possible.

I chose CRC32 because the very well researched answer in this SE thread suggests that it is slow and does not result in too many collisions. However, that particular thread does not specifically address the quest for a SLOW hashing function so I thought I would pose my own question here. Are there other known functions that are even slower than CRC32 whilst at the same time not being too susceptible to collisions?

Was it helpful?

Solution

Most hash functions are designed to be fast except those for password hashing, so if you want a slow hash function, even if you don't really need the cryptographic security, you would probably be best just using one of the password hashing functions like bcrypt, Argon, etc.

There is no 'slowest', as such, because these all allow configuration of the speed so can be modified to be exactly as slow as you require.

Licensed under: CC-BY-SA with attribution
scroll top