random

Источник защищенных случайных данных

Примечание. Для запуска этой службы необходимо войти в систему с учетной записью root.

Синтаксис:

random [опции]

Поддерживаемые платформы:

Neutrino

Опции:

-h

Вывести сообщение о способах использования.

-i#

Использовать номер прерывания # как источник для сбора случайных данных. Можно указать несколько прерываний, максимум 32.

-p

Получить системную информацию из /proc и использовать ее как источник случайных данных.

-t

Использовать в качестве источника случайных данных высокоточные часы.

Описание:

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

/dev/random

Источник высококачественных случайных чисел.

/dev/urandom

Разблокированный источник случайных данных, для создания псевдослучайных битов которого многократно используется внутренний пул. Это означает, что вызов не блокируется, но уровень энтропии выходных данных может быть ниже, чем в соответствующих данных, считанных из /dev/random.

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

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

Примеры:

Запуск службы random с использованием трех прерываний в качестве источников:

random -i12 -i14 -i15

Чтение 4 байтов случайных данных из приложения:

int data;

int fd;


fd = open( "/dev/random", O_RDWR );

if( fd == -1 )

exit( 1 );


read( fd, &data, sizeof( data ) );


close( fd );

Статус завершения:

0

Случайные данные доступны в /dev/random и /dev/urandom.

Любое другое значение

Возникла ошибка; /dev/random и /dev/urandom не созданы.

Ошибки:

Если возникла ошибка, random отправляет описание ошибки в slogger, при этом /dev/random и /dev/urandom не создаются.

Автор:

В службе random используется базовый алгоритм генератора псевдослучайных чисел (pseudo-random number generator; PRNG) Yarrow, который разработан компанией Counterpane Security (http://www.counterpane.com/yarrow.html) и не защищен авторским правом. Генератор псевдослучайных чисел Yarrow разработан Брюсом Шнайером (Bruce Schneier) и Джоном Келси (John Kelsey).

Предупреждения:

Обязательным условием для работы службы random является определение хотя бы одного источника случайных данных (опции -p, -t или -i).