7 ms·
I feel like there's a way to put salts and hashes in here so that I can publish a list of conditions, "don't send traffic my way if myblocklist.includes(argon2(
by jazzyjackson 3y ago
I feel like there's a way to put salts and hashes in here so that I can publish a list of conditions, "don't send traffic my way if myblocklist.includes(argon2($username + $salt)"
instead of publishing the list of people I don't want to hear from
i also think it's fine to let everyone know who i've blocked, but people have different threat models
- landr0id 3y agoWith this model someone just develops a website that passively collects usernames, performs the calculation, and maps usernames to hashed values.
- xigoi 3y agoThat's why they added the salt.
- kahnclusions 3y agoIt’s still feasible. The search space is limited to “The list of known user names” rather than “every possible combination of N characters”. That’s the difference between computable in under an hour vs computable in millions of years.
- preseinger 3y agothis approach results in false positives
- xigoi 3y agoExtremely unlikely if you take enough bits from the hash.
- preseinger 3y ago"extremely unlikely" is still not the same as "impossible" hash(x) != x
- xigoi 3y agoAre you afraid to go out because you might get struck by lightning?
- preseinger 3y agoif you and I have accounts at the same bank, it's incredibly unlikely that my account number will hash to the same value as your account number are you OK with the bank using a hash of your account number to identify your account instead of the number itself? of course not -- any risk of collision, no matter how low, is unacceptable that's the baseline -- risk tolerance is zero you have to justify any increase of that risk on a case-by-case basis
- xigoi 3y agoYeah, because the consequences of accidentally blocking someone on social media are just as serious as the consequences of a bank confusing two accounts.
- sebzim4500 3y agoIf the hash is cryptographically secure and 128 bits I would be perfectly comfortable with them assuming uniqueness of it. To repeat that guy's question, do you avoid going outside in order to avoid freak lightning strikes?
- preseinger 3y agohash functions map infinite-cardinality input sets to finite-cardinality output sets definitionally, this means each output value maps to multiple input values -- which means uniqueness is, factually, not guaranteed it doesn't matter if the likelihood of collisions is 1-in-10, or 1-in-100000, or 1-in-1000000000000, or etc. -- if a collision is possible at all, then uniqueness is not guaranteed, and cannot be assumed as true
- jeroenhd 3y agoAn absolutely minimal probability of false positives. The probability that you can find a hash collision that's also a valid username is even smaller. I don't think it's something you'd need to worry about.
- 8organicbits 3y agoPassword hashing algorithms don't work well if the entire search space is small. If you block me it's trivial for me to check my username against your hashes to prove you blocked me. Reversing every hash is mostly a question of how many known usernames there are.