- •Министерство образования и науки, молодежи и спорта Украины
- •Лабораторная работа № 1 Определение площади геометрических фигур методом Монте-Карло
- •1.1 Общие положення
- •1.2 Пример нахождения площади круга методом Монте-Карло
- •1.3 Варианты заданий
- •1.3 Контрольные вопросы
- •1.4 Рекомендуемая литература
- •Лабораторная работа № 2 Исследование особенностей и построение моделей сложных объектов и явлений
- •2.1 Порядок выполнения работы
- •2.2 Варианты заданий
- •2.3 Рекомендуемая литература
- •Лабораторная работа №3 Вероятностные модели случайных величин с заданным законом распределения
- •3.1 Общие положения
- •3.1.1 Краткие сведения о распределениях вероятностей случайных величин
- •3.1.2 Источники случайных чисел
- •3.1.3 Детерминированные гпсч
- •3.1.4 Гпсч с источником энтропии или гсч
- •3.2 Порядок выполнения работы
- •3.3. Варианты заданий
- •3.4 Контрольные вопросы
- •3.5 Рекомендуемая литература
- •Лабораторная работа №4 Вероятностные модели случайных потоков событий
- •4.1 Общие положения
- •4.1.2 Простейший (пуассоновский поток)
- •4.1.3 Нестационарный пуассоновский поток
- •4.1.4 Поток Пальма
- •4.1.5 Потоки Эрланга
- •4.2 Создание генераторов потоков случайных событий
- •4.3 Порядок выполнения
- •4.4 Варианты заданий
- •4.5 Контрольные вопросы
- •5.1 Общие положения
- •Пример модели простейшей системы
- •5.3 Алгоритм обслуживания заявок
- •Порядок выполнения работы
- •Варианты заданий
- •5.6 Контрольные вопросы
- •5.7 Рекомендуемая литература
- •Метод генерации нормально распределенных чисел, использующий центральную предельную теорему
- •Метод Мюллера
3.1.4 Гпсч с источником энтропии или гсч
Наравне с существующей необходимостью генерировать легко воспроизводимые последовательности случайных чисел, также существует необходимость генерировать абсолютно случайные числа. Такие генераторы называются генераторами случайных чисел (ГСЧ — англ. random number generator, RNG). Такие генераторы чаще всего строятся из комбинации ГПСЧ и внешнего источника энтропии (и именно такую комбинацию теперь и принято понимать под ГСЧ). Под источником энтропии понимают некоторые устройства (счетчики) случайных событий.
Почти все крупные производители микрочипов поставляют аппаратные ГСЧ с различными источниками энтропии. Однако на данный момент скорость сбора случайных чисел всеми существующими микрочипами (несколько тысяч бит в секунду) не соответствует быстродействию современных процессоров.
В персональных компьютерах авторы программных ГСЧ используют гораздо более быстрые источники энтропии, такие, как шум звуковой карты или счётчик тактов процессора. Сбор энтропии является наиболее уязвимым местом ГСЧ. Эта проблема до сих пор полностью не разрешена во многих устройствах (например,смарт-картах). Многие ГСЧ используют традиционные испытанные, хотя и медленные, методы сбора энтропии вроде измерения реакции пользователя (движениемышии т.п.), как, например, вPGPи Yarrow, или взаимодействия междупотоками, как, например, в Java secure random.
Пример простейшего ГСЧ с источником энтропии
Если в качестве источника энтропии использовать текущее время, то для получения натурального числаот 0 до N достаточно вычислитьостаток от делениятекущего времени вмиллисекундахна число N+1. Недостатком этого ГСЧ является то, что в течение одной миллисекунды он выдает одно и то же число.
Примеры ГСЧ и источников энтропии приведены в таблице 3.1
Таблица 3.1. – ГСЧ и источники энтропии
Источник ГСП |
Источник энтропии |
ГПСЧ |
/dev/randomв UNIX/Linux |
Счётчик тактов процессора |
LFSR, с хешированием выхода черезSHA-1 |
Yarrow от Брюса Шнайера |
Традиционные методы |
AES-256 иSHA-1маленького внутреннего состояния |
Microsoft CryptoAPI |
Текущее время, размер жёст-кого диска, размер свободной памяти, номер процесса и NETBIOS-имя компьютера |
MD5-хеш внутреннего состояния размером в 128 бит |
JavaSecureRandom |
Взаимодействие между потоками |
SHA-1-хеш внутреннего состояния (1024 бит) |
Chaos от Ruptor |
Счётчик тактов процессора |
Хеширование 4096-битового внутреннего состояния на основе нелинейного варианта Marsaglia-генератора |
RRAND от Ruptor [5] |
Счётчик тактов процессора |
Зашифровывание внутреннего состояния поточным шифром EnRUPTв authenticated encryption режиме (aeRUPT) |
На основе ГСЧ, генерирующего последовательность случайных чисел, имеющую равномерное распределение, алгоритмическими методами легко создаются UCX с различными законами распределения.
Различные вероятностные распределение алгоритмически моделируются следующими способами:
1) с показательным законом распределения:
, где и– гауссовские случайные процессы с нулевым средним и единичной дисперсией;
2) с нормальным (гаусовским) законом распределения:
, где и– случайные процессы с равномерным распределением в диапазоне [0,1];
3) с рэлеевским законом распределения:
, где и– гауссовские случайные процессы с нулевым средним и единичной дисперсией;
4) с распределением Вейбулла:
, где ,и– случайный процесс с равномерным распределением в диапазоне [0,1].