Генератор случайных чисел

Количество чисел
Использовать
Укажите из каких цифр нужно генерировать числа. Если выбрана опция «список целых чисел», укажите через запятую числа, из которых нужно выбрать случайные значения
Разделитель
Сортировать

Случайные числа
{$ result $}

Числа сопровождают нас повсюду — номер дома и квартиры, телефона, автомобиля, паспорта, пластиковой карты, даты, пароли электронной почты. Одни сочетания цифр мы выбираем сами, но большинство получаем случайно. Не отдавая себе в этом отчета, мы каждый день используем числа, сгенерированные случайным образом. Если пинкоды мы придумываем, то уникальные коды кредитной или зарплатной карты генерируются надежными системами, исключающими доступ к паролям. Генераторы случайных чисел обеспечивают защиту в областях, требующих скорости обработки информации, безопасности и независимой обработки данных.

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

Преимущества способа

Итак, генератор случайных чисел — независимый современный механизм для случайного определения комбинаций чисел. Уникальность и совершенство этого способа заключаются в невозможности внешнего вмешательства в процесс. Генератор представляет собой комплекс программ, построенный, например, на шумовых диодах. Аппарат формирует поток случайных шумов, текущие значения которых преобразуются в числа и составляют комбинации.

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

Как происходит генерирование псевдослучайных чисел

На самом деле случайные числа не случайны — ряд начинается с заданного числа и генерируется по алгоритму. Генератор псевдослучайных чисел (ГПСЧ или PRNG — pseudorandom number generator) – и есть алгоритм, порождающий последовательность, на первый взгляд, не связанных чисел, подчиненных обычно равномерному распределению. В информатике псевдослучайные числа используются во многих приложениях: в криптографии, имитационном моделировании, методе Монте-Карло и т. д. От свойств ГПСЧ зависит качество результата.

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

Во многих современных процессорах содержится ГПСЧ, например, в RdRand. В качестве альтернативы создаются наборы случайных чисел, публикуемые в одноразовом блокноте (словаре). Источник чисел в этом случае ограничен и не обеспечивает полной сетевой безопасности.

История ГПСЧ

Прообразом генератора случайных чисел можно считать настольную игру Сенет, распространенную в Древнем Египте в 3500 г. до нашей эры. По условиям, участвовали два игрока, ходы определяли, бросая четыре плоские черно-белые палочки — они были подобием ГПСЧ того времени. Палочки подбрасывали одновременно, и подсчитывали очки: если одна упала вверх белой стороной, 1 очко и дополнительный ход, две белых — два очка и так далее. Максимальный результат в пять очков получал игрок, выбросивший четыре палочки черной стороной.

В наши дни генератор ERNIE много лет применяли в Великобритании при розыгрышах лотереи. Разделяют два основных метода генерации выигрышных номеров: линейный конгруэнтный и аддитивный конгруэнтный. Эти и другие методы основаны на принципе случайности выбора и обеспечиваются ПО, бесконечно продуцирующим числа, угадать последовательность которых невозможно.

ГПСЧ функционирует непрерывно, например, в игровых автоматах. По законам США, это обязательное условие, которое должны соблюсти все поставщики программного обеспечения.