Криптографически стойкие генераторы (CSPRNG)
CSPRNG обеспечивают непредсказуемость выходных значений даже при известном внутреннем состоянии.
Требования к CSPRNG
Криптографическая стойкость: невозможность предсказать следующее значение за полиномиальное время. Backtracking resistance: невозможность восстановить предыдущие значения. Prediction resistance: устойчивость к компрометации состояния.
Популярные реализации
/dev/urandom (Linux): собирает энтропию из ядра. CryptGenRandom (Windows): использует множество источников энтропии. Fortuna: алгоритм Брюса Шнайера с множественными пулами энтропии. ChaCha20: потоковый шифр как основа генератора.
Применение в игровой индустрии
Критические применения: генерация токенов сессий, криптографических ключей, salt для хеширования,Provably Fair систем. Не подходит для обычной игровой механики из-за низкой скорости (в 100-1000 раз медленнее PRNG).
Безопасность
Регулярное re-seeding (переинициализация) из TRNG. Мониторинг энтропийного пула. Использование проверенных реализаций вместо собственных алгоритмов. Аудит логов генерации.