An online casino or any gambling game controlled by a computer such as slot machines, video poker has one very high priority – a requirement for unpredictability. Any flaw in the way these games generate random events could cause a very big bill for the owners! Imagine the havoc if you could identify sequences in online poker or baccarat for example.
So what sort of random generation is required?
The algorithm is of course extremely important, however the seeding is also crucial. Anyone looking for a flaw would be probably focusing on identifying sequences however small and insignificant they may be. This means that the algorithm would need some form of entropy (or chaos) to help decide upon it’s starting position. This is critical, it’s known as the seed – the way the computer begins it’s random number generation, this is where flaws are often found.
Sometimes the random number generation is not quite as crucial as you would imagine, it depends on whether the output of that generation is directly viewable. Will anyone actually be able to view the directly generated random number – perhaps if the output is directly related to a spin on a casino wheel. But more likely a combination of random numbers would be used to seed the algorithm and some internal behavior. This would make it much more difficult to predict winning numbers and sequences.
The internal generation of the randomness should be protected from direct view, this is imperative. A cryptographic generator is the standard defence which protects the algorithm, the Random number generator from reverse engineering. In theory if this defense is sufficient, no-one should be able to predict future numbers or behaviour.
So just to summarise – whatever random numbers are generated they should not be used directly in the game. The number generated should be then used in some sort of function to control different parts of the algorithm. It doesn’t make reverse engineering theoretically impossible but does make it extremely difficult approaching impossible if it’s done right.