What is a non-cryptographic hash function?
Non-cryptographic hash functions are algorithms designed for tasks like hash tables and detecting accidental errors where rigorous security guarantees are unnecessary. Because they do not need to provide strict preimage or collision resistance against deliberate attacks, they can be faster and less resource-intensive than cryptographic hashes. Examples of these CPU-optimized functions include FNV-1a and Murmur3.
What we know
- Non-cryptographic hash functions are intended for applications that do not require the rigorous security requirements of cryptographic hash functions, allowing them to be faster and less resource-intensive. [4]
- Typical examples of CPU-optimized non-cryptographic hashes include FNV-1a and Murmur3. [4]
- Non-cryptographic hash functions are commonly used in hash tables, bloom filters, count sketches, and to detect accidental errors. [2, 5]
- Simple non-cryptographic hash functions like linear cyclic redundancy check functions provide essentially no resistance to deliberate attacks such as denial-of-service hash flooding. [2, 5]
Where to go next
- compared withHow do cryptographic hash functions work?
- a case in pointWhat is the Fowler-Noll-Vo hash function?
- what caused itWhat causes a hash collision?
- whoWho created the FNV hash algorithm?
- the bigger pictureWhat is a universal hash function?
- an unexpected connectionCan non-cryptographic hashes be used in cryptography?Some non-cryptographic hash functions are used in cryptographic applications when combined with other cryptographic primitives, where they are known as universal hash functions.
Sources
- [1]cryptographic hash function (Wikidata Q477202) · CC0 1.0
- [2]Cryptographic hash function · CC BY-SA 4.0
- [3]Fowler–Noll–Vo hash function · CC BY-SA 4.0
- [4]Non-cryptographic hash function · CC BY-SA 4.0
- [5]Hash collision · CC BY-SA 4.0