Обзоры по конструкции генератора псевдослучайных чисел?

15

Я заинтересован в генерации псевдослучайных чисел для криптографии. Помимо главы 5 Менезес / Oorschot / Vanstone ; Глава 8 Стинсона ; и глава 3 Goldreich , где еще я могу найти больше? Меня интересуют общие принципы проектирования PRNG (желательные свойства, тесты и т. Д.).

сойка
источник
3
Не по дизайну, но вас может заинтересовать более новая книга Гольдрайха
S Huntsman
@S Huntsman: большое спасибо за это! Я не знал, что у Голдрайха была книга по PRNG.
Джей

Ответы:

8

Вы можете проверить

Дай Ле
источник
1
Большая часть этого не очень важна для практических реализаций PRNG для криптографии. Это не хороший набор ресурсов, чтобы дать разработчику.
DW
4

Если вы думаете о реализации ваших идей, есть стандартная серия тестов, которые дают реализации PRNG. Эти тесты (DIEHARD и преемник DIEHARDER) могут быть загружены с его архивированной веб-страницы и http://www.phy.duke.edu/~rgb/General/dieharder.php соответственно.

Питер Бут
источник
4
Важное предостережение: прохождение DIEHARD не означает, что ваш PRNG хорош. Это не ресурс, который я бы дал разработчику, которому необходимо внедрить защищенный PRNG.
DW
1

Вы заинтересованы во внедрении PRNG? Если это так, то лучше всего не создавать самому, а просто использовать стандартный. / dev / urandom - правильный ответ на большинстве платформ. Если / dev / urandom не существует, генерирование случайного ключа AES с / dev / random и затем запуск режима AES-CTR для генерации множества псевдослучайных чисел является другим разумным подходом.

Я рекомендую вам ознакомиться с Криптографической инженерией Фергюсона, Шнайера и Коно. Это отличная книга. Он многому научит вас, как проектировать и создавать настоящие криптосистемы.

Если вам действительно нужно создать систему, которая будет развернута на практике, я рекомендую вам руководствоваться не теоретическим сообществом CS, а сообществом практиков и практиков-исследователей. Большая часть теоретической работы CS не будет иметь большого значения или даже может вводить в заблуждение для практической реализации безопасного PRNG. Я также призываю вас взглянуть на обмен стеками IT Security для подобных вопросов.

DW
источник
4
Вопрос явно говорит, что он интересуется общими принципами, и вопрос был задан на теоретическом обмене стека CS ...
Дэвид Кэш