News for hackers. Stuff that matters.
Re:Similarity join (Min-hash) by goldenkey on Sunday June 26, 2022 @04:51PM (#31887829)
Brilliant stuff. Isn't the XORing essentially just equivalent to a 1-time pad -- which isn't very hash-like. I'd think using a PRNG [1] with the initial hash value as the seed, to generate more values, would be more effective.

https://en.wikipedia.org/wiki/Pseudorandom_number_generator

Re:Similarity join (Min-hash) by davesque on Sunday June 26, 2022 @06:48PM (#31888851)
Yeah, I had a similar intuition about that approach possibly being weak or problematic. However, if my cursory reading of the algorithm is at all correct, the goal may simply be to consistently choose another hash value (a different min hash) and it may work fine. In other words, the same hash values would be considered the minimum after XORing with a random number and they will be different from the initial hash that was selected as the minimum without XORing. Those are the behaviors that matter and not so much that the hashes that result from the XORing are cryptographically secure.
Re:Similarity join (Min-hash) by davesque on Sunday June 26, 2022 @10:47PM (#31890082)
Can't edit the post. I meant to say "the same two hash values."
Re:Similarity join (Min-hash) by kwillets on Monday June 27, 2022 @02:04PM (#31898297)
MinHash is a CPU hog due to precisely this step -- cheap rehashes are the order of the day.

I don't think xor works, but simple arithmetic, IIRC h_i(key) = i*h(key) + C mod 2^32, is viable and SIMD-friendly. Look up minwise-independent hash functions.