Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моделирование систем_МУ_Ч2 рус.doc
Скачиваний:
71
Добавлен:
03.03.2016
Размер:
1.25 Mб
Скачать

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].