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