Claude AI finds seed-independent collisions in popular hash functions
Analysis using Claude Fable reveals cryptographic weaknesses in widely-used hashing algorithms including xxHash, HighwayHash, and others.
What to know
- Claude Fable AI analysis discovered seed-independent collisions in six major hash functions (komihash, a5hash, HighwayHash, SpookyHash, aHash, t1ha2) plus standard implementations in Rust, Go, and .NET.
- Most analyzed hashes perform at least 20 bits below expected collision resistance on adversarial inputs, despite passing standard statistical tests.
- Some hashes with published proofs were verified as sound by Fable, while errors were found in others—distinguishing provably-safe algorithms from those with implementation flaws.
- Ahle frames the findings as implementation bugs rather than fundamental design vulnerabilities, arguing they highlight the need for wider adoption of provably-robust hash functions.
Thomas Ahle Researcher/blog authorClaude Fable AI analysis tool
How it unfolded 4 developments, newest first · click a bar or a number to jump postscomments
-
4
Researcher reframes findings as bugs rather than vulnerabilities
Ahle clarifies that the collisions should be viewed as bugs in implementation rather than fundamental vulnerabilities, since hash functions are designed to prevent seed-independent collisions through their secret key mechanism. He hopes the comparison with provably-safe hashes will encourage adoption of more robust alternatives.
“I think it's fair to think of these findings more as "bugs" than "vulnerabilities". Ultimately a hash isn't supposed to have seed-indpendent collisions. That's the whole point of the secret key.”
— thomasahle -
I have come around to a strong belief that the correct design direction for hash tables is perhaps a bit surprising: require an ordering in addition to a hash, and fall back to a b-tree when excessive collisions occur. Then use the weakest, cheapest, fastest hash you can get away with. And we should have an `UnsafeHashMap` or some such which omits…
2 more of the top 3 · 4 posts in this stretch
-
Yes, I think it's fair to think of these findings more as "bugs" than "vulnerabilities". Ultimately a hash isn't supposed to have seed-indpendent collisions. That's the whole point of the secret key. It can be very hard to know if something that's inherently random is buggy or working as intended. I hope that showing the bugs found, vs the hashes…
-
What price level is too costly? But also, hashing is used in more data structures than hash tables. If we're aiming for almost-universality like Ahle does, we have a few very reasonable classic solutions for small GPR-sized values https://arxiv.org/abs/1504.06804 (and universality with independent random keys composes fine on…
-
-
3
Ahle clarifies methodology amid post reception
Ahle responds to downvoting of the initial post by asking for explanation, indicating uncertainty about how the community received the findings.
“If anyone can explain to me why this is getting downvoted. I'm just trying to explain how the hashes were chosen and issues verified.”
— thomasahle -
If anyone can explain to me why this is getting downvoted. I'm just trying to explain how the hashes were chosen and issues verified.
-
-
2
Detailed analysis shows most fast hashes fail under adversarial inputs
Ahle's blog post explains that Claude Fable analysis of SMhasher test suite found most popular hashes perform terribly on adversarial inputs—at least 20 bits below expectation. Some hashes with published proofs were verified in Lean, while errors were found in others.
“It found that most of them have inputs on which they perform terribly—at least 20 bits below expectation. A few hashes have published proofs, and Fable was able to find mistakes in some and verify others in Lean.”
— Thomas Ahle -
1
Researcher publishes findings of AI-discovered hash collisions
Thomas Ahle posts findings showing Claude Fable discovered seed-independent collisions in major hash functions including komihash, a5hash, HighwayHash, SpookyHash, aHash, and t1ha2, as well as standard hashes in Rust, Go, and .NET.
“AI discovered collisions in komihash, a5hash, HighwayHash, SpookyHash, aHash, and t1ha2! It also includes the standard hashes in Rust, Go, and .NET.”
— thomasahle
What people are saying 1 voices from 1 site · best of 5 · verbatim
- Sep 21
-
Do you mean a content-based ordering, or simply something like insertion order?