Macro view of a decapped silicon package with gold bond wires and two test probes resting on adjacent pads

The Generator Is Deterministic by Design

The component under test is not a source of randomness in the physical sense. It is a pseudorandom number generator: a state machine that produces a fixed output sequence for any given starting state. Mersenne Twister MT19937 remains common in older gaming code, carrying a 624-word state and a period of 2^19937 minus 1. Newer deployments tend toward counter-based constructions or a stream cipher run in generator mode, where the state is a key plus a counter rather than a large shuffled array.

Determinism here is a requirement rather than a compromise. A laboratory that cannot reload a recorded state and reproduce the exact output sequence has no way to audit a disputed round, and a regulator has nothing to re-examine after a complaint. The same reasoning drives generator choice in GPU compute, where counter-based designs such as Philox are preferred precisely because a given thread index yields the same value on every run regardless of scheduling order.

What the certification asks, then, is narrow and answerable: given no knowledge of the internal state, is the output stream distinguishable from a uniform random stream, and is the state itself recoverable from observed output within any practical amount of work?

Seeding: Where the Unpredictability Actually Lives

Everything unpredictable about a certified generator enters through the seed. Production systems draw that seed from a hardware entropy source: an on-die ring oscillator sampled through RDSEED on x86 parts, a discrete TRNG on a security module, or a TPM's internal source. These circuits harvest thermal noise and the timing instability of free-running oscillators, digitise it, and pass it through a conditioning stage before anything reaches the generator.

There is an irony in that for anyone who works on graphics firmware. Clock jitter is treated as a defect in every other context, and diagnosing it is a routine part of understanding how a card behaves as clocks and voltages are pushed. At the transistor level, that same instability is the raw material a ring-oscillator entropy source is built to collect. No consumer GPU exposes an architectural TRNG, which is why CUDA and OpenCL generators take their seeds from the host rather than from the die they run on.

Certification covers the source as well as the algorithm. NIST SP 800-90B defines the health tests an entropy source must run continuously — a repetition count test that catches a stuck output, and an adaptive proportion test that catches a source drifting toward one value. Labs also examine the reseeding schedule, since a generator reseeded once at process start behaves very differently under long uptimes than one drawing fresh entropy on a fixed interval.

The Statistical Batteries

Output testing is the visible part of the process and the part most often quoted in marketing copy. Three batteries do the real work, and they differ considerably in how much data they consume and how hard they are to pass.

BatteryTestsTypical sampleRole in certification
NIST SP 800-22 Rev 1a15100 × 10^6-bit sequencesBaseline compliance evidence
Dieharder~11010^9 bits and upSuccessor to the original Diehard set
TestU01 BigCrush10610^11 bits and upStrictest battery in routine use
ENT5Any sizeSmoke test only, not submitted as evidence

The NIST battery is published in full, including the reference implementation and the pass criteria, in NIST Special Publication 800-22 Revision 1a. It is a floor rather than a ceiling. MT19937 clears SP 800-22 comfortably and still fails the linear complexity tests in BigCrush, which is the practical reason a laboratory looks at which generator was chosen instead of accepting a single passing report as sufficient.

What the Laboratory Actually Signs Off

Gaming Laboratories International, eCOGRA, iTech Labs and BMM Testlabs all work to broadly the same shape of standard, with GLI-19 covering client-server systems in most regulated markets. Very little of the assessment is statistical. The bulk of it is source code review, and the recurring findings are integration defects rather than weak algorithms.

Scaling is the classic one. Reducing a 32-bit output to a range of 37 with a plain modulo makes the first few outcomes marginally more likely, because 2^32 does not divide evenly by 37. The generator remains perfectly uniform; the mapping breaks it. Rejection sampling — discarding out-of-range draws rather than folding them back — is the required fix. Shuffle implementations attract similar scrutiny, since a naive swap loop produces a measurably skewed permutation distribution where Fisher-Yates does not.

Once the code passes, the laboratory records a cryptographic hash of the compiled artefact. That hash, not the source, is what the certificate is anchored to. The verification model will be familiar to anyone who has flashed firmware: a checksum computed over the image and compared against a stored reference before the write is allowed to proceed, exactly as described in the GPU BIOS flash guide. The threat being addressed is the same in both cases, which is a binary that no longer matches the one that was examined.

From RTP Tables to the Best Payout Online Casinos in Canada

A certified generator says nothing about how much a game returns. Return-to-player is a property of the paytable and the game mathematics, assessed in a separate evaluation that models the outcome distribution against the prize schedule. A generator can be flawless and sit behind a paytable configured to return 88 percent, and both facts can be true on the same certificate wall.

The operational half of the picture is the payout report: an audit of actual results over a defined period, usually broken out by game category and published as a percentage. Those reports, not the certification mark, are what operator comparisons are built from, and worked examples of that reporting for Canadian-facing sites can be found here. The distinction matters when reading either document: certification is a statement about the draw, and a payout figure is a measurement of what the paytable did with those draws over a window of real play.

Binary Integrity After Certification

The gap between an approved build and a deployed one is where most post-certification problems live. A recompile with a different toolchain version, a configuration flag baked in at build time, a hotfix applied to a running server — any of these produce an artefact the laboratory never examined, and the certificate does not stretch to cover it.

Regulators close that gap with remote verification. A probe recomputes the hash of the running binary and compares it against the value on file, which turns certification from a one-time event into a state that can be checked on demand. Version pinning matters for the same reason it matters in firmware work, where a device ID and a BIOS revision have to be read together before an image is treated as the correct one for a given card — the cross-referencing practice documented alongside the GPU BIOS repository listings.

None of this makes the generator itself interesting. A well-implemented CSPRNG seeded from a validated entropy source is a solved problem and has been for years. The certification effort concentrates almost entirely on the joins: how the seed arrives, how the raw output is mapped onto game outcomes, and whether the binary in production is still the one that was read line by line.

Frequently Asked Questions

Is a certified casino RNG a true hardware random number generator?

Almost never. The generator that produces game outcomes is a deterministic algorithm — typically a counter-based or cryptographic PRNG — seeded from a hardware entropy source. Determinism is deliberate: a lab cannot replay and audit a sequence it is unable to reproduce from a recorded state.

Which statistical test suites do certification labs run?

NIST SP 800-22 Rev 1a is the baseline battery of 15 tests. Labs working to GLI-19 typically add Dieharder and TestU01, whose BigCrush battery of 106 tests is the strictest of the three. ENT is used as a quick smoke test rather than as evidence.

What is modulo bias and why does it fail certification?

Mapping a 32-bit generator output onto a small range with a plain modulo operation makes the low-numbered outcomes marginally more likely, because 2^32 does not divide evenly by most range sizes. The generator itself stays uniform; the scaling step introduces the bias. Labs require rejection sampling, which discards out-of-range draws instead of folding them back.

Does RNG certification tell you the payout percentage?

No. RNG certification establishes that the draw is unbiased and unpredictable. Return-to-player is a property of the paytable, evaluated in a separate mathematical assessment, and then measured in live operation through periodic payout reports. The two documents answer different questions.

How is a certified build kept from drifting after approval?

The laboratory records a cryptographic hash of the approved binary. Regulators and remote verification tools recompute that hash against the deployed build. Any recompilation, patch or configuration change that alters the binary produces a different hash and puts the deployment outside the scope of its certificate.