3 ms·
That is mind-blowing. Intuitively, a hash digest is completely uncorrelated with its input, but this shows that you can make inferences about a collection of da
by jallmann 14y ago
That is mind-blowing. Intuitively, a hash digest is completely uncorrelated with its input, but this shows that you can make inferences about a collection of data based on its hashes.
In retrospect, it makes sense stochastically, but still a Damn Cool Algorithm indeed.
- lurker14 14y agoIsn't that the point? That hashing maps an arbitrary set of numbers to an approximately uniform scale-invariant distribution.
- jallmann 14y agoThat's not what I said. Generating a predictable distribution by hashing is old hat. What's awesome is you can then make inferences about the original data from those hashes -- something that good hash functions are supposed to be resistant to, in isolation.
- shardling 14y agoIt works here because we only care whether two bits of data are equal -- and a hash function had better preserve that relationship!
- deleted 14y ago[deleted]
- rm999 14y ago> Other hash applications (like hash tables) don't need that property I'm unclear on what you guys mean by correlation, but if it means what I think it does I disagree with this. A hash table ideally has an uniform distribution regardless of the input, so any structured correlation with the input will harm this goal in real-world applications.
- robrenaud 14y agoPython's hashes for small integers never collide. Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) >>> map(hash, range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- Daniel_Newby 14y ago> ... you can make inferences about a collection of data based on its hashes. Quite a few cryptographers have learned this the hard way!