If an attacker may try 10 billion (1E10) random numbers per second. And its attack can last 500 years (500*365*24*3600 = 1.5768E10 seconds).
Then the attacker will try 1E10*1.5768E10 = 1.5768E20 combinations.
Now suppose I have 100 billion (1E11) tokens, which are random numbers of n bits.
I want to calculate
n so that the probability the attacker finds any token is around 1 in a billion (1E9).
I believe the answer is
n = log2(1E11*1.5768E20/1E9) = 73.74 bits.
Is this calculation correct?
If instead of independent random numbers the attacker can avoid repeating numbers, how much is
n? I guess I should use factorials, and I guess this relates to the birthday paradox, but my mathematics seems to escape me know.
If simply knowing one of the tokens serves as authentication, what is the recommended
nfor an attacker with a few million dollars available, as of 2017?
By using the formula in https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions, with my specific numbers, in WolphramAlpha, I get:
Wolphram solves for n:
n=163.088. I guess this is the answer to my question 2. I think my calculation for question 1 is correct, but since question 2 is the more realistic scenario I am satisfied with that and will close this question.