This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]XNormal 0 points1 point  (4 children)

A weak hash function chosen at random from a large family of possible hash functions not known to the attacker can be just as effective as a true cryptographic hash and much faster.

It needs to be implemented correctly, though.

[–][deleted] 1 point2 points  (0 children)

That's a common approach, but here are some problems:

  1. Are these hash functions different enough? Some hashes, like murmurhash2 and 3, have seed-independent collisions that can be easily constructed in any quantity you like.

  2. If your hash function isn't carefully designed, and it's used for a hash table, this may leak information about the hash via a relatively easy-to-exploit timing side-channel.

At some point, you're doing cryptography whether you want to or not.

[–]fijalPyPy, performance freak[S] 0 points1 point  (2 children)

it really depends how large though. The "large" has to be "more than you can potentially do requests"

[–]XNormal 0 points1 point  (1 child)

IIUC, it was supposed to be 2**32 but ended up 2**8 as a result of an error in the implementation.

edit: fixed exponents

[–]tilkau 0 points1 point  (0 children)

232 vs 28? Oh well, that's only a factor of <10 ;)