#1
|
|||
|
|||
Can somebody explain this online shuffle?
I went over to the Pokerstars site because I am interested in the "randomness" of online poker. This is what I got:
We understand that a use of a fair and unpredictable shuffle algorithm is critical to our software. To ensure this and avoid major problems described in [2], we are using two independent sources of truly random data: user input, including summary of mouse movements and events timing, collected from client software true hardware random number generator developed by Intel [3], which uses thermal noise as an entropy source Each of these sources itself generates enough entropy to ensure a fair and unpredictable shuffle. Shuffle Highlights: A deck of 52 cards can be shuffled in 52! ways. 52! is about 2225. We use 249 random bits from both entropy sources (user input and thermal noise) to achieve an even and unpredictable statistical distribution. Furthermore, we apply conservative rules to enforce the required degree of randomness; for instance, if user input does not generate required amount of entropy, we do not start the next hand until we obtain the required amount of entropy from Intel RNG. We use the SHA-1 cryptographic hash algorithm to mix the entropy gathered from both sources to provide an extra level of security We also maintain a SHA-1-based pseudo-random generator to provide even more security and protection from user data attacks To convert random bit stream to random numbers within a required range without bias, we use a simple and reliable algorithm. For example, if we need a random number in the range 0-25: we take 5 random bits and convert them to a random number 0-31 if this number is greater than 25 we just discard all 5 bits and repeat the process This method is not affected by biases related to modulus operation for generation of random numbers that are not 2n, n = 1,2,.. To perform an actual shuffle, we use another simple and reliable algorithm: first we draw a random card from the original deck (1 of 52) and place it in a new deck - now original deck contains 51 cards and the new deck contains 1 card then we draw another random card from the original deck (1 of 51) and place it on top of the new deck - now original deck contains 50 cards and the new deck contains 2 cards we repeat the process until all cards have moved from the original deck to the new deck This algorithm does not suffer from "Bad Distribution Of Shuffles" described in [2] I personally don't completely understand this. Can somebody simplify it for me? |
|
|