Какой Генератор случайных чисел Используется в Индустрии компьютерных игр Казино? [закрытый]

17
задан Community 23 May 2017 в 12:09
поделиться

9 ответов

Для казино, играющего приложения, я думаю, что отбор алгоритма является самой важной частью, чтобы удостовериться, что все игры, "загруженные", не пробегают ту же последовательность или некоторый маленький набор предсказуемых последовательностей. Таким образом, источник продвижения энтропии к семени для стартовой позиции является критической вещью. Кроме того, любой генератор случайных чисел хорошего качества, где каждая позиция двоичного разряда, как имеет ~50/50 вероятность того, чтобы быть 1/0 и период, относительно долга, был бы достаточен. Например, что-то как вихрь Мерсенна PRNG имеет такие свойства.

Используя криптографически безопасные случайные генераторы только становится важным, когда эффективная выходная мощность случайного генератора может быть просмотрена непосредственно. Например, если Вы контролировали, каждое число, на самом деле сгенерированное генератором чисел - после просмотра многих чисел в последовательности - с некриптографической информацией о генераторе о той последовательности, может привести к установлению информации обо всем внутреннем состоянии генератора. На данном этапе, если Вы знаете то, на что похож алгоритм, Вы смогли бы предсказать будущие числа, и это будет плохо. Криптографический генератор предотвращает тот инженерный анализ назад к внутреннему состоянию так, чтобы предсказание будущих чисел стало "невозможным".

Однако в случае игры в казино, Вы были бы (или если) не имеют никакой видимости к фактическим числам, сгенерированным под капотом. Каждый раз случайное число сгенерировано - скажем 32-разрядное число - что число будет использоваться затем, например, модификация 52 для алгоритма перестановки деки.... не, где в том процессе делают у Вас есть любая идея, какие числа были сгенерированы алгоритмом для перестановки той деки. Таким образом, большинство битов "случайности" просто выводится, и даже те используемые у Вас нет видимости к. Поэтому никакой способ перепроектировать состояние.

Возвращение к истинному источнику энтропии для отбора целого процесса, который является твердой частью. См. статью в Википедии о энтропия для некоторых начальных точек на методах.

Как в стороне, если Вы действительно хотели криптографически случайные числа последовательности от "обычного" алгоритма, простой подход должен взять несколько случайных чисел в последовательности, связать их вместе и затем выполнить что-то как MD5 или SHA-1 на них, и результат так же случаен, и также криптографически защитите. Таким образом, Вы просто сделали свой собственный "безопасный" генератор случайных чисел.

13
ответ дан 30 November 2019 в 11:27
поделиться

Существует много вещей, которые играющие сайты должны рассмотреть при выборе/реализации RNG. Без должного усердия это может пойти эффектно неправильно .

, Чтобы заставить лицензию управлять играющим сайтом в особой юрисдикции обычно требует, чтобы RNG был сертифицирован независимым третьим лицом. Сторонние тестеры проанализируют исходный код и запустят статистические тесты (например, Консерватор ), чтобы гарантировать, что RNG ведет себя случайным образом. Уважаемые покер-сайты будут обычно включать детали сертификации, которой подвергся их RNG (например: страница RNG PokerStars).

я был вовлечен в несколько играющих проектов, и для одного из них у меня была к разработке и реализации часть RNG, таким образом, я должен был исследовать все эти проблемы. Большинство покер-сайтов будет использовать некоторое устройство для энтропии, но они не будут полагаться просто на аппаратные средства. Обычно это будет использоваться в сочетании с pseudo-RNG (PRNG). Существует две главных причины для этого. Во-первых, аппаратные средства являются медленными, они могут только извлечь определенное число битов энтропии в данный период времени от любого физического процесса, который они контролируют. Во-вторых, аппаратные средства перестали работать непредсказуемыми способами, которыми программным обеспечением PRNGs не делают.

Fortuna является состоянием с точки зрения криптографически сильного PRNGs. Это может питаться энтропия из одного или нескольких внешних источников (например, аппаратные средства RNG) и эластично перед лицом предпринятого использования или отказа оборудования RNG. Это - достойный выбор для играющих сайтов, хотя некоторые могли бы утверждать, что это - излишество.

Pokerroom.com используемый, чтобы просто использовать SecureRandom Java (они, вероятно, все еще делают, но я не мог найти детали об их сайте). Это главным образом достаточно хорошо, но это действительно страдает от проблемы степеней свободы.

Большая часть запаса реализации RNG (например, вихрь Мерсенна) не имеют достаточных степеней свободы, чтобы смочь генерировать каждую возможную перестановку 52 колод карт от данного начального состояния (это - что-то, что я пытался объяснить в предыдущее сообщение в блоге ).

РЕДАКТИРОВАНИЕ: я ответил главным образом относительно комнат покера онлайн и казино, но те же соображения относятся к физическому видеопокеру и видео машинам слотов в казино реального мира.

14
ответ дан 30 November 2019 в 11:27
поделиться

Мы использовали Protego R210-USB TRNG (и версия не-usb перед тем) как случайные генераторы семени в приложениях казино с java.security. SecureRandom на вершине. Мы имели , шведская Национальная лаборатория Судебной медицины выполняет отдельный аудит R210, и она передала без дефекта.

5
ответ дан 30 November 2019 в 11:27
поделиться

Вам, вероятно, нужен криптографически безопасный псевдослучайный генератор. Существует много вариантов. Google "Blum-Blum-Shub", например.

свойства безопасности этих псевдослучайных генераторов обычно будут то, что, даже когда взломщик может наблюдать полиномиальным образом много выводов от таких генераторов, не будет выполнимо предположить следующий вывод с вероятностью намного лучше, чем случайное предположение. Кроме того, не выполнимо отличить вывод таких генераторов от действительно случайных битов. Безопасность содержит, даже когда все алгоритмы и параметры известны взломщику (за исключением секретного семени).

безопасность генераторов часто измеряется относительно параметра безопасности. В случае BBS это - размер модуля. Это не отличается от другого материала crypto. Например, RSA безопасен только, когда ключ достаточно длинен.

Примечание, что, вывод таких генераторов не может быть универсальным (на самом деле, может быть далеко от универсальной формы в статистическом смысле). Но так как никто не может отличить эти два дистрибутива без бесконечной вычислительной мощности, эти генераторы будут достаточны в большинстве приложений, которые требуют действительно случайных битов.

Принимают во внимание, однако, что эти криптографически безопасные псевдослучайные генераторы являются обычно медленными. Таким образом, если скорость является действительно беспокойством, менее строгие подходы могут быть более релевантными, такими как использование хеш-функций, как предложил Jeff.

4
ответ дан 30 November 2019 в 11:27
поделиться

Казино не должны использовать генераторы Псевдослучайного числа, они должны использовать аппаратные: http://en.wikipedia.org/wiki/Hardware_random_number_generator

1
ответ дан 30 November 2019 в 11:27
поделиться

Если Вы хотите сделать это правильно, необходимо стать физическими - ERNIE, британское национальное сберегательное средство выбора числа использует дробовой шум в Неоновых лампах.

0
ответ дан 30 November 2019 в 11:27
поделиться

Я наверняка видел немецкий игровой автомат, который нельзя было запускать в коммерческих целях после заданной даты, так что я полагаю, что это была PNRG с длинным списком начальных значений одноразовых блокнотов.

0
ответ дан 30 November 2019 в 11:27
поделиться

Игровые автоматы казино непрерывно генерируют случайные числа на очень высокой скорости и используют самые последние результаты, когда пользователь нажимает на рычаг (или нажимает кнопку) для вращения барабанов.

Можно использовать даже упрощенный генератор. Даже если вы знали используемый алгоритм, вы не можете наблюдать, где он находится, потому что почти все результаты отбрасываются. Если бы вы каким-то образом знали, где он находится в последовательности, вам бы потребовалась миллисекунда или лучше, чтобы воспользоваться этим.

Современные машины с «механическими барабанами» используют ГПСЧ и приводят в движение барабаны с помощью шаговых двигателей, чтобы имитировать старые в стиле «спин-и-тормоз».

2
ответ дан 30 November 2019 в 11:27
поделиться

Большинство покерных сайтов используют аппаратные генераторы случайных чисел. Они также будут модифицировать вывод, чтобы устранить любое смещение масштабирования, и часто используют «горшки» чисел, которые можно «перемешивать» с помощью энтропийных событий (активность пользователя, события ввода-вывода serer и т. Д.). Довольно часто результирующие числа просто индексируют заранее сгенерированные колоды (начиная с отсортированного списка карт).

0
ответ дан 30 November 2019 в 11:27
поделиться