Установка ПО · 7 min read · Nov 24, 2025

Как установить pandom: истинный генератор случайных чисел для Linux

Этот учебник предназначен для версий ядра linux amd64 / x86_64, равных или превышающих 2.6.9. Он объясняет, как установить pandom: генератор истинных случайных чисел с временным дрожанием, поддерживаемый ncomputers.org

Введение

Встроенный генератор истинных случайных чисел ядра Linux обеспечивает низкую пропускную способность в современных условиях, например: персональные компьютеры с твердотельными накопителями (SSD) и виртуальные частные серверы (VPS).

Эта проблема становится популярной в реализации linux из-за постоянно растущей потребности в истинных случайных числах, в основном для различных криптографических целей.

Pandom выдает около 8 KiB/s энтропии 64 ubits / 64 bits, совместим с физическими и виртуальными средами и предполагает, что никакой другой процесс, работающий от имени пользователя root, не записывает в /dev/random.

1 Установка pandom

1.1 Получение прав root

Pandom должен быть установлен от имени root, выполните эту команду, если необходимо.

su -

1.2 Установка зависимостей для сборки

Чтобы загрузить и установить pandom, вам нужны: GNU as компилятор, GNU make, GNU tar и GNU wget (последние два обычно уже установлены). Вы можете удалить их позже по желанию.

Системы на базе Arch

pacman -S binutils make

Системы на базе Debian

apt-get install binutils make

Системы на базе Red Hat

dnf install binutils make
yum install binutils make

Системы на базе SUSE

zypper install binutils make

1.3 Загрузка и извлечение исходников

Эти команды загружают и извлекают исходники pandom с ncomputers.org с помощью wget и tar.

wget http://ncomputers.org/pandom.tar.gz  
tar xf pandom.tar.gz  
cd pandom/amd64-linux

1.4 Тест перед установкой (рекомендуется)

Этот рекомендуемый тест занимает около 8 минут. Он проверяет поддержку ядра и генерирует файл с именем checkme (анализируется в следующем разделе).

make check

1.5 Определите систему инициализации

Перед установкой pandom вам нужно знать, какое программное обеспечение инициализации использует ваша система. Если следующая команда выводит слово running, это означает, что ваша система использует systemd, в противном случае, вероятно, ваша система использует реализацию init.d (например: upstart, sysvinit). Могут быть некоторые исключения, более подробная информация в этих ответах unix.stackexchange.com.

systemctl is-system-running
running

1.6 Установка pandom

Как только вы узнаете, какую систему использует ваша реализация linux, вы можете установить pandom соответствующим образом.

Система инициализации на базе init.d (например: upstart, sysvinit)

Установите pandom, выполнив эту команду, если ваша система использует реализацию init.d (например: upstart, sysvinit).

make install-init.d

systemd как система инициализации

Установите pandom, выполнив эту команду, если ваша система использует systemd.

make install-systemd

2 Анализ файла checkme

Перед использованием pandom для криптографических целей настоятельно рекомендуется проанализировать файл checkme, сгенерированный в процессе установки в предыдущем разделе этого учебника. Эта задача полезна для определения, являются ли числа действительно случайными или нет. Этот раздел объясняет, как проанализировать файл checkme с помощью ncomputers.org/ entropyarray: скрипта оболочки, который тестирует энтропию и серийную корреляцию его входных данных.

Примечание: этот анализ можно выполнить на другом компьютере, например, на ноутбуке или настольном компьютере. Например: если вы устанавливаете pandom на виртуальном частном сервере (VPS) с ограниченными ресурсами, вы можете скопировать файл checkme на свой персональный компьютер, чтобы проанализировать его там.
Вы также можете использовать Entropy Online Tester.

2.1 Получение прав root

Entropyarray должен быть установлен от имени root, выполните эту команду, если необходимо.

su -

2.2 Установка зависимостей для сборки

Чтобы загрузить и установить entropyarray, вам нужны: компилятор GNU g++, GNU make, GNU tar и GNU wget (последние два обычно уже установлены). Вы можете удалить их позже по желанию.

Системы на базе Arch

pacman -S gcc make

Системы на базе Debian

apt-get install g++ make

Системы на базе Red Hat

dnf install gcc-c++ make
yum install gcc-c++ make

Системы на базе SUSE

zypper install gcc-c++ make

2.3 Загрузка и извлечение исходников

Эти команды загружают и извлекают исходники entropyarray с ncomputers.org с помощью wget и tar.

wget http://ncomputers.org/rearray.tar.gz  
wget http://ncomputers.org/entropy.tar.gz  
wget http://ncomputers.org/entropyarray.tar.gz  
  
tar xf entropy.tar.gz  
tar xf rearray.tar.gz  
tar xf entropyarray.tar.gz

2.4 Установка entropyarray

Примечание: ошибки, касающиеся -std=c++11, означают, что версия компилятора GNU g++ не поддерживает стандарт ISO C++ 2011. Вы можете попробовать скомпилировать ncomputers.org/ entropy и ncomputers.org/ rearray на другой системе, которая поддерживает его (например: GNU g++ в более новой версии вашей любимой дистрибуции linux), а затем установить скомпилированные бинарные файлы с помощью make install в системе, на которой вы хотите запустить entropyarray, или пропустить этот шаг, хотя настоятельно рекомендуется проанализировать файл checkme перед использованием pandom для любых криптографических целей.

cd rearray; make install; cd ..  
cd entropy; make install; cd ..  
cd entropyarray; make install; cd ..

2.5 Анализ файла checkme

Примечание: реализации pandom на 64 ubits / 64 bits должны давать этот тест с энтропией выше 15.977 и max частотой ниже 70. Если ваши результаты слишком отличаются, вы можете попробовать увеличить непредсказуемость вашей реализации pandom, как описано в пятом разделе этого учебника. В случае, если вы пропустили последний шаг, вы можете использовать другие инструменты, такие как тест последовательности псевдослучайных чисел.

entropyarray checkme
entropyarray in /tmp/tmp.mbCopmzqsg  
15.977339  
min:12  
med:32  
max:56  
15.977368  
min:11  
med:32  
max:58  
15.977489  
min:11  
med:32  
max:59  
15.977077  
min:12  
med:32  
max:60  
15.977439  
min:8  
med:32  
max:59  
15.977374  
min:13  
med:32  
max:60  
15.977312  
min:12  
med:32  
max:67

2.6 Удаление entropyarray (по желанию)

Если вы не планируете больше использовать entropyarray, вы можете удалить его по желанию.

cd entropyarray; make uninstall; cd ..  
cd entropy; make uninstall; cd ..  
cd rearray; make uninstall; cd ..

3 Установка с использованием репозитория debian

Если вы хотите поддерживать pandom в актуальном состоянии на вашей системе на базе debian, вы можете установить / переустановить его с использованием репозитория debian ncomputers.org.

3.1 Получение прав root

Ниже перечисленные пакеты debian должны быть установлены от имени root, выполните эту команду, если необходимо.

su -

3.2 Установка ключа

Этот пакет debian включает в себя открытый ключ репозитория debian ncomputers.org.

wget http://ncomputers.org/debian/keyring.deb  
dpkg -i keyring.deb  
rm keyring.deb

3.3 Установка списка источников

Эти пакеты debian включают в себя список источников репозитория debian ncomputers.org в соответствии с последними дистрибуциями debian (год 2017).

Примечание: также возможно записать закомментированные строки ниже в /etc/apt/sources.list, вместо установки соответствующего пакета debian для вашего дистрибутива debian, но если эти источники изменятся в будущем, вам придется обновить их вручную.

Wheezy

#deb http://ncomputers.org/debian wheezy main  
wget http://ncomputers.org/debian/wheezy.deb  
dpkg -i wheezy.deb  
rm wheezy.deb

Jessie

#deb http://ncomputers.org/debian jessie main  
wget http://ncomputers.org/debian/jessie.deb  
dpkg -i jessie.deb  
rm jessie.deb

Stretch

#deb http://ncomputers.org/debian stretch main  
wget http://ncomputers.org/debian/stretch.deb  
dpkg -i stretch.deb  
rm stretch.deb

3.4 Обновление списка источников

После установки ключа и списка источников.

apt-get update

3.5 Тестирование pandom

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

Примечание: если вы уже тестировали pandom в вашей реализации linux, вы можете пропустить этот шаг.

apt-get install pandom-test  
pandom-test
generating checkme file, please wait around 8 minutes ...  
entropyarray in /tmp/tmp.5SkiYsYG3h  
15.977366  
min:12  
med:32  
max:57  
15.977367  
min:13  
med:32  
max:57  
15.977328  
min:12  
med:32  
max:61  
15.977431  
min:12  
med:32  
max:59  
15.977437  
min:11  
med:32  
max:57  
15.977298  
min:11  
med:32  
max:59  
15.977196  
min:10  
med:32  
max:57

3.6 Установка pandom

apt-get install pandom

4 Управление pandom

После установки pandom вы можете управлять им.

4.1 Тест производительности

Pandom предлагает около 8 килобайт в секунду, но его производительность может варьироваться в зависимости от среды.

dd if=/dev/random of=/dev/null bs=8 count=512
512+0 records in  
512+0 records out  
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s

4.2 Тест энтропии и серийной корреляции

Помимо ncomputers.org/ entropyarray, есть и другие тесты, например, тестовый набор NIST от Ильи Герхардта.

entropyarray /dev/random 1M

4.3 Системная служба

Pandom работает как системная служба.

Система инициализации на базе init.d (например: upstart, sysvinit)

/etc/init.d/random status  
/etc/init.d/random start  
/etc/init.d/random stop  
/etc/init.d/random restart

systemd как система инициализации

systemctl status random  
systemctl start random  
systemctl stop random  
systemctl restart random

5 Увеличение непредсказуемости или производительности

Если вы хотите попробовать увеличить непредсказуемость или производительность вашей реализации pandom, вы можете попробовать добавить или удалить измерения времени ЦП.

5.1 Редактирование исходных файлов

В исходных файлах test.s и tRNG.s добавьте или удалите блоки измерений по желанию.

#measurement block  
mov $35,%rax  
syscall  
rdtsc  
[...]  
  
#measurement block  
mov $35,%rax  
syscall  
rdtsc  
[...]

5.2 Тестирование непредсказуемости

Мы рекомендуем всегда тестировать любую персонализированную реализацию pandom перед использованием ее для криптографических целей.

make check

5.3 Установка персонализированного pandom

Если вы довольны результатами, вы можете установить вашу персонализированную реализацию pandom.

make install

Дополнительная информация и обновления: http://ncomputers.org/pandom

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.