Two Plus Two Older Archives  

Go Back   Two Plus Two Older Archives > Internet Gambling > Internet Gambling
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-28-2005, 06:55 AM
DreamMaster DreamMaster is offline
Junior Member
 
Join Date: Jun 2005
Posts: 11
Default 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?
Reply With Quote
  #2  
Old 07-28-2005, 07:08 AM
PokrLikeItsProse PokrLikeItsProse is offline
Member
 
Join Date: Aug 2004
Posts: 59
Default Re: Can somebody explain this online shuffle?

What parts do you not understand?
Reply With Quote
  #3  
Old 07-28-2005, 07:13 AM
Baulucky Baulucky is offline
Senior Member
 
Join Date: Dec 2003
Location: MARS
Posts: 194
Default Re: Can somebody explain this online shuffle?

[ QUOTE ]
Can somebody simplify it for me?

[/ QUOTE ]

Reverse Pattern Mapper.
Reply With Quote
  #4  
Old 07-28-2005, 07:16 AM
DreamMaster DreamMaster is offline
Junior Member
 
Join Date: Jun 2005
Posts: 11
Default Re: Can somebody explain this online shuffle?

The use of user input, event timing, and thermal noise to shuffle electronic cards?
Reply With Quote
  #5  
Old 07-28-2005, 07:25 AM
Cubswin Cubswin is offline
Senior Member
 
Join Date: May 2003
Posts: 1,079
Default Re: Can somebody explain this online shuffle?

52! is about 2225.

[img]/images/graemlins/confused.gif[/img]
Reply With Quote
  #6  
Old 07-28-2005, 07:33 AM
robinsons robinsons is offline
Junior Member
 
Join Date: Jan 2005
Posts: 25
Default Re: Can somebody explain this online shuffle?

in very basic terms...

computers never make errors, and can only follow instructions ('the program').
a function takes an input (eg. a deck of cards) and returns something else (eg. a shuffled deck of cards).
If you have a function to shuffle cards based on no external factors, it will do the same thing every time. Run it 1 million times, every time it will give you the same shuffle as the output.
obviously this is no good. therefore, you need to introduce 'random' factors into the shuffle. This can be gathered in many ways, either by a random number generator (which for the purposes of simplicity just spits out a random number every time you ask it to), and also other data - here's where the user input, event timing and thermal noise come in. These can all be measured in a way that is impossible to predict (if you could predict these 'random' factors, then you could simulate the shuffle yourself - given equal inputs, the shuffle will always return the same result - it's just following instructions after all). However these all add in data that you cannot know or predict (minor thermal changes over a very small period of time, mouse movement of different users, the number from the random number generator, etc).
It is this information that makes the shuffle random.

sorry if this is long and drawn out, I've tried to give a simple overview of why they are needed without getting too technical
Reply With Quote
  #7  
Old 07-28-2005, 07:34 AM
robinsons robinsons is offline
Junior Member
 
Join Date: Jan 2005
Posts: 25
Default Re: Can somebody explain this online shuffle?

[ QUOTE ]
52! is about 2225.

[img]/images/graemlins/confused.gif[/img]

[/ QUOTE ]

I wondered about that as well...
Reply With Quote
  #8  
Old 07-28-2005, 08:14 AM
Robby Box Robby Box is offline
Junior Member
 
Join Date: May 2005
Posts: 27
Default Re: Can somebody explain this online shuffle?

52*51*50*49*48*47*46*45*44*43*42*41*40*39*38*37*36 *35*34*33*32*31*30*29*28*27*26*25*24*23*22*21*20*1 9*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2

= ERROR according to my CASIO [img]/images/graemlins/wink.gif[/img]
Reply With Quote
  #9  
Old 07-28-2005, 08:30 AM
Spook Spook is offline
Senior Member
 
Join Date: Aug 2004
Posts: 116
Default Re: Can somebody explain this online shuffle?

[ QUOTE ]
52! is about 2225.

[img]/images/graemlins/confused.gif[/img]

[/ QUOTE ]

on PS it is in superscript, which doesn't copy well. 2^225
Reply With Quote
  #10  
Old 07-28-2005, 08:34 AM
erniebilko erniebilko is offline
Junior Member
 
Join Date: May 2005
Posts: 14
Default Re: Can somebody explain this online shuffle?

There are 2 components required to ensure a good shuffle:

1. Unpredictability of the seed number which is used in an algorithm to obtain a number in the required range.

2. An even distribution of output so that all numbers in the required range are equally likely to be obtained from the algorithm.

In the early days of Internet poker, Planet Poker's shuffle was exposed as non-random and a team of mathematicians easily found the seed number which was based on time of day. Finding the seed and knowing the algorithm allowed them to see all cards in every player's hand. Now, the seed number is derived form truly random input using a combination of user mouse movements and thermal noise.

The rest of the description is an explanation of how they ensure that the distribution of output is even, so that the results are not skewed to favor any part of the range.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:54 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.