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

Quick quiz

Test yourself on highwayhash

10 multiple-choice questions. Pick an answer for each, then submit to see explanations.

  1. Q1.Who designed HighwayHash?

  2. Q2.HighwayHash internal state size:

  3. Q3.Possible HighwayHash output sizes:

  4. Q4.Is HighwayHash cryptographic?

  5. Q5.Required key size for HighwayHash's security claims:

  6. Q6.Which project uses HighwayHash internally?

  7. Q7.HighwayHash sits between SipHash and xxHash3 in:

  8. Q8.What instructions does HighwayHash exploit?

  9. Q9.What year was HighwayHash published?

  10. Q10.When should you NOT use HighwayHash?

0 of 10 answered