Online Poker Technology: Random Number Generators
Random Number Generators (RNG) are one of the most important functions of online poker software. The RNG helps to decide what cards are dealt. A faulty or predictable RNG can be the ruin of an online poker site.
Wikipedia defines a random number generator as follows:
A random number generator (often abbreviated as RNG) is a computational or physical device designed to generate a sequence of numbers or symbols that lack any pattern, i.e. appear random. Computer-based systems for random number generation are widely used, but often fall short of this goal, though they may meet some statistical tests for randomness intended to ensure that they do not have any easily discernible patterns. Methods for generating random results have existed since ancient times, including dice, coin flipping, the shuffling of playing cards, the use of yarrow stalks in the I Ching, and many other techniques.
Many companies use an entropy pool that collects data from various devices on the system to use as the beginning of the card shuffling function. This data is then placed into the random number generator to extract a seed value. After this, each card in the deck is assigned a value and randomly shuffled. After this process every card theoretically has the same chance of being dealt over time.
Measures to ensure a system is satisfactorily random include the Diehard and ENT tests.