Post
Topic
Board Meta
Re: Activity & new membergroup limits
by
theymos
on 21/03/2015, 19:27:18 UTC
If I have many examples when one out of two variables is known and the other is unknown and the output is always the same, then I would think that it would be possible to determine what the unknown variable is. I would think it would be similar to figuring out the private key that was created using a weak RNG.

I would think that someone would essentially use some level of computing power to "guess"/hash what the secret seed is based on the above known variables.

Nope:

I must be missing something then.

Let's say I (user id 17768) achieve Legendary status next tuesday, when my activity goes from 798 to 812. That means that:

Code:
799  <= 775 + conv(substr(sha1(concat('17768',secretSeed)), 1, 2), 16, 10) <= 812
24   <=       conv(substr(sha1(concat('17768',secretSeed)), 1, 2), 16, 10) <= 37
0x18 <=            substr(sha1(concat('17768',secretSeed)), 1, 2)          <= 0x25

And by removing the substr(…, 1, 2) part we infer that secretSeed is either:

- some word such as sha1(concat('17768',secretSeed)) results in any hash starting with 18, or
- some word such as sha1(concat('17768',secretSeed)) results in any hash starting with 19, or
- some word such as sha1(concat('17768',secretSeed)) results in any hash starting with 1a, or
...
- some word such as sha1(concat('17768',secretSeed)) results in any hash starting with 25.

And it isn't difficult to find those 14 possible seeds, right?


That's like trying to find the equation of some particular line when you only have one point on the line. You can find an infinite number of possible lines, but there's essentially no chance that you'll find the correct line. And with SHA-1, you won't get any closer to finding the true "line" no matter how many points you have. There are very many possible seeds which would perfectly match the current list of Legendaries, but only one of them will also match all future Legendaries.

I was under the understanding this is why bitcoin related gambling sites generally have their server seed expire after (usually) 24 hours and have their 'rolls' result in a number that is 4 digits (usually two before and two after a decimal).

I'm not sure exactly how those sorts of gambling sites do their provable fairness, but they may be trying to protect against a different type of attack.