04 — RNG
Что сюда кладём
- Теория RNG: PRNG vs CSPRNG vs hardware RNG.
- Что значит “acceptably random” в контексте регуляторов (UKGC RTS 7).
- Seed / reseed strategies: как избегать предсказуемости.
- Scaling RNG output (как перевести
[0,1)в индекс символа без слома распределения). - Compensated / adaptive поведение — почему запрещено.
- Statistical testing: NIST SP 800-22, Diehard, TestU01.
- Best practices в реализации (server-side only, аудит вызовов).
- Языковые стандартные библиотеки: Python
secrets, Gocrypto/rand, JavaSecureRandom, Nodecrypto.randomBytes, browsercrypto.getRandomValues(). - Provable fairness (для crypto-операторов): hash chains, server seed / client seed.
Что НЕ сюда
- Конкретный RNG-сервис нашей RGS →
kb/05-rgs/илиgames/<slug>/rgs.md. - Cert-чеклисты RNG →
kb/08-certification/.
Страницы
- RNG в онлайн-слотах (обзор) — популярное объяснение для игрока/продукта, связь с RTP и сертификацией.
- RNG requirements (UKGC RTS 7) — acceptably random, no adaptive behavior, testing evidence.
- Result determination — deterministic settle и fair correction flow.
- Seedable PRNG для симуляции, CSPRNG для прода — два разных RNG для двух задач: PCG / xoshiro / mulberry32 для симулятора, crypto.randomBytes для прода, replay через seed (#rng csprng simulation)
Стартовые источники
- UKGC RTS 7 — требования к RNG.
- NIST SP 800-22 Rev 1a — statistical test suite.
- eCOGRA RNG Certification — что именно проверяет лаборатория.
- Python secrets, Web Crypto getRandomValues.
Будущие страницы (TODO)
- PRNG vs CSPRNG — см. seedable-prng-for-simulation.
- Seed / reseed strategy — см. там же (раздел Replay-долг).
- Scaling RNG output без слома распределения — см. там же (WeightedPicker).
- “Acceptably random” по UKGC RTS 7 — разбор требований.
- NIST SP 800-22: пакет тестов и интерпретация результатов.
- Compensated / adaptive — антипаттерны.
- Provable fairness (crypto-схемы).