RNG Testing
Introduction
iTech Labs is a world leading RNG testing company. iTech Labs has tested many RNGs in 15+ languages using different algorithms and hardware generators during the last 18 years. We believe our experience in RNG testing is unmatched in the industry.
iTech Labs’ Random Number Generator (RNG) evaluation consists of verifying of the following:
- Statistical randomness
- Internal state of the RNG
- Seeding, re-seeding and cycling
- Unpredictability and non-repeatability
- Usage of random numbers including scaling and shuffling
Correct operation of the RNG ensures that cards, die numbers, slot game symbols, feature game outputs, jackpot triggers, etc. are statistically random and unpredictable. A correctly operating RNG gives players confidence in the gaming system and insures against unjustified player complaints.
RNG testing
Testing of the Pseudo RNG (Software RNG) is conducted in three stages:
- Examination of Source Code & Compilation
o Identification of RNG algorithm and researching known weaknesses
o Verifying internal state of RNG
o Verifying that the RNG implementation caters for unpredictability and non-repeatability requirements
o Verifying seeding, background cycling and minimal re-seeding
o Verifying the use of the random numbers, including scaling and shuffling
o Compiling the RNG code (after all code issues are resolved) - Raw numbers generated by the RNG algorithm are subjected to “diehard” tests
- Generating sample scaled output and applying “Chi-square” tests e.g. if the RNG is used to shuffle a deck of cards, then we would apply Chi-square tests to a wide range of shuffled decks
For Hardware RNG (HRNG), the first stage is limited to the evaluation of the specifications of the device, as well as researching any weaknesses that may be present, and evaluating the code for hardware RNG failure detection and failover.
The second and third stage tests determine statistical randomness, as well as the unpredictability and non-repeatability of the RNG. Our RNG evaluations fully comply with all requirements of the applicable gaming jurisdictions, such as, for example: Australia, Alderney, Denmark, Gibraltar, Isle of Man, Italy, Kahnawake, Malta, Portugal, Spain and the UK. RNG testing usually takes 1-3 weeks, depending on how quickly the issues we raise are resolved by your team.
What are the deliverables after completion of RNG testing?
On completion of all stages of the RNG testing, our deliverables are the following:
- A certification report outlining the evaluation conducted and the results of that evaluation
- Test results for Diehard and Chi-square tests
- A certification seal/logo to be placed on your gaming site, and
- A linked certificate indicating compliance of the RNG with the tests carried out. The original certificate is maintained at the iTech Labs web site so that authenticity can be verified
Most of the RNGs we test are Pseudo or software RNGs. Hardware RNGs are usually backed up by Pseudo RNGs to take care of hardware failure. In case of hardware RNGs with backup PRNG, we test the outputs from both the Pseudo RNG and hardware RNG.
Submission requirements
For a Pseudo RNG, the source code is required for the evaluation. For a hardware RNG, information about the hardware device and output from the device are required. In order to test the scaling/shuffling, code fragments that call the RNG or shuffle code are required (examples: scaling code for slot games, shuffling code for card games) for both Pseudo and hardware RNG implementations.
Recommended algorithms
We always encourage the use of well-known public domain PRNG algorithms. A non-exclusive list of such algorithms is given below:
1) Fortuna
2) SHA-1 and SHA-2 based PRNGs (e.g. Java SecureRandom)
3) AES based generators (AES-CTR, AES-KTR,AES-OFB)
4) ISAAC
5) Mersenne Twister (MT)
The last one, MT, is not a cryptographically secure algorithm, however, it is the most widely used in gaming.
Hardware devices
We have certified HRNGs using the following hardware devices:
- Quantis, Quantis + MT
- ComScire
How to start the process
We offer excellent value for a quality service at a competitive price. For RNG testing, we offer a firm, set price. Please contact us for a free quote.
As part of our quotation process, we will ask some brief details about your RNG. In the case of a hardware RNG, the output from the hardware device is required. Our fixed price includes: consultations, unlimited retests after bug fixes, test results, detailed certification reports, hot linked certificates, and logos.
If you have an RNG that needs testing, please don’t hesitate to contact the iTech Labs team here.