Hash Lab

Non-cryptographic

HighwayHash

Designed at Google by Jyrki Alakuijala, Bill Cox, and Jan Wassenberg (2016). HighwayHash targets a niche between cryptographic and pure non-cryptographic hashes: SIMD-tuned for AVX-2 throughput, but with a stated security goal against chosen-input collisions when used with a 256-bit secret key.

At a glance

Output64, 128, or 256 bits
Key256 bits (mandatory for security claims)
Throughput~7-12 GiB/s on AVX-2
Year2016
Projectgoogle/highwayhash
StatusKeyed non-cryptographic; resists hash flooding

The niche

SipHash is keyed, hash-flooding-resistant, but slower per byte (~2-3 GiB/s). xxHash3 is much faster but non-cryptographic in the chosen-input sense. HighwayHash sits between: as fast as xxHash3 with SIPI-style chosen-input resistance, at the cost of needing a key and AVX-2 to hit peak.

Construction

HighwayHash maintains a 1024-bit internal state organized into four 256-bit lanes. Each input block updates the lanes via multiply-add operations matched to AVX-2 / NEON SIMD instructions. After absorbing the input, a finalization phase mixes the lanes and squeezes the requested output size.

Where it shows up

Caveats

References

Test Your Knowledge

Quick MCQ check on this algorithm

Start Quiz →

AI Summary

Summarize this page in your favorite LLM