Генератор случайных чисел
Генерация случайных чисел — это процесс, который с помощью устройства генерирует последовательность чисел или символов, которая может быть предсказана разумным образом только на основании случайности. Генераторы случайных чисел подразделяются на «аппаратные генераторы случайных чисел» (HRNGS), которые генерируют случайные числа в зависимости от текущего значения какого-либо атрибута физической среды, который практически невозможно смоделировать при текущем уровне знаний, и генераторы псевдослучайных чисел (PRNGS), которые генерируют числа, которые выглядят случайными, но на самом деле являются детерминированными и могут быть воспроизведены, если известна модель (шаблон), на основании которой работает генератор псевдослучайных чисел.
Различные применения случайности привели к развитию нескольких методов генерации случайных данных, некоторые из которых существуют с древних времён, среди которых есть хорошо известные «классические» примеры, в том числе бросание кости, подбрасывание монеты, тасование игральных карт, использование стеблей тысячелистника (для гадания) в «И Цзин», а также бесчисленное множество других техник. Из-за механического характера этих методов генерация большого количества достаточно случайных чисел (что важно в статистике) требовала много труда и времени, поэтому такие числа иногда собирались в таблицы случайных чисел. В наше время на смену таблицам пришли генераторы случайных чисел.
Существует несколько вычислительных методов генерации псевдослучайных чисел. Все они не достигают цели истинной случайности, хотя они могут с переменным успехом соответствовать некоторым тестам на статистическую случайность, предназначенным для измерения непредсказуемости их результатов (то есть, в какой степени распознаваемы их шаблоны). Обычно это делает их непригодными для таких областей применения, как криптография. Однако существуют также тщательно разработанные «криптографически стойкие генераторы псевдослучайных чисел» (CSPRNGS) со специальными функциями, специально разработанными для использования в криптографии[1].
Примечания
- RNG in Video Games . Дата обращения: 23 декабря 2020.