Mersenne Twister - хороший бинарный ГСЧ? - PullRequest
3 голосов
/ 04 января 2012

Я пытаюсь найти ГСЧ для генерации потока псевдослучайных битов. Я обнаружил, что Mersenne Twister (MT19937) является широко используемым ГСЧ, который генерирует хорошие 32-разрядные целые числа без знака, и что были реализованы реализации для генерации явно хороших чисел с плавающей запятой двойной точности (создание 53-разрядного целого). Но я, похоже, не нахожу каких-либо упоминаний о том, что он хорошо себя ведет на побочной стороне вещей.

Марсалья выразил некоторые опасения по поводу случайности Мерсенна Твистера, которые заставляют меня сомневаться в его использовании.

Кто-нибудь знает, имеет ли Mersenne Twister существенный уклон, используемый для генерации псевдослучайных битов? Если это так, кто-нибудь знает хороший генератор псевдослучайных бит?

Ответы [ 2 ]

4 голосов
/ 15 сентября 2013

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

Все вопросы в форме "хорошо X RNG хорошо"нужно ответить: "что ты с этим делаешь?"Meresene Twister добился БОЛЬШОГО успеха в симуляции благодаря превосходному распределению частот. В криптографических ситуациях он полностью и совершенно лишен всякой ценности .Внутреннее состояние можно определить, посмотрев на любые 624 смежных выхода.Blum Blum Shub был очень силен в криптографических ситуациях, но он работает недопустимо медленно для использования в симуляциях.

0 голосов
/ 16 апреля 2017

номер

Никто не должен выбирать Mersenne Twister для генерации случайности, если он не встроен, и если вы широко используете случайность, вам все равно придется его заменить. Mersenne Twister не проходит базовых статистических тестов на случайность, которые намного проще, гораздо более быстрые алгоритмы, и, как правило, немного разочаровывает.

Небезопасные некритографические генераторы псевдослучайных чисел, которые я рекомендую в настоящее время: xoroshiro + и семейство PCG . Xoroshiro + быстрее и подразумевается, чтобы быть немного более высокого качества, но семейство PCG поставляется с более полной библиотекой и выполняет больше ролей.

Однако современная криптографическая случайность может быть более чем достаточно быстрой. Библиотека Rust rand по умолчанию использует ISAAC, и существуют другие варианты. Это должно быть вашим выбором по умолчанию во всех случаях, кроме самых исключительных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...