Установка ПО · 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 makeyum install binutils makeСистемы на базе SUSE
zypper install binutils make1.3 Загрузка и извлечение исходников
Эти команды загружают и извлекают исходники pandom с ncomputers.org с помощью wget и tar.
wget http://ncomputers.org/pandom.tar.gz
tar xf pandom.tar.gz
cd pandom/amd64-linux1.4 Тест перед установкой (рекомендуется)
Этот рекомендуемый тест занимает около 8 минут. Он проверяет поддержку ядра и генерирует файл с именем checkme (анализируется в следующем разделе).
make check1.5 Определите систему инициализации
Перед установкой pandom вам нужно знать, какое программное обеспечение инициализации использует ваша система. Если следующая команда выводит слово running, это означает, что ваша система использует systemd, в противном случае, вероятно, ваша система использует реализацию init.d (например: upstart, sysvinit). Могут быть некоторые исключения, более подробная информация в этих ответах unix.stackexchange.com.
systemctl is-system-runningrunning1.6 Установка pandom
Как только вы узнаете, какую систему использует ваша реализация linux, вы можете установить pandom соответствующим образом.
Система инициализации на базе init.d (например: upstart, sysvinit)
Установите pandom, выполнив эту команду, если ваша система использует реализацию init.d (например: upstart, sysvinit).
make install-init.dsystemd как система инициализации
Установите pandom, выполнив эту команду, если ваша система использует systemd.
make install-systemd2 Анализ файла 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++ makeyum install gcc-c++ makeСистемы на базе SUSE
zypper install gcc-c++ make2.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.gz2.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 checkmeentropyarray 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:672.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.deb3.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.debJessie
#deb http://ncomputers.org/debian jessie main
wget http://ncomputers.org/debian/jessie.deb
dpkg -i jessie.deb
rm jessie.debStretch
#deb http://ncomputers.org/debian stretch main
wget http://ncomputers.org/debian/stretch.deb
dpkg -i stretch.deb
rm stretch.deb3.4 Обновление списка источников
После установки ключа и списка источников.
apt-get update3.5 Тестирование pandom
После тестирования вы можете удалить нижеуказанный пакет по желанию.
Примечание: если вы уже тестировали pandom в вашей реализации linux, вы можете пропустить этот шаг.
apt-get install pandom-test
pandom-testgenerating 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:573.6 Установка pandom
apt-get install pandom4 Управление pandom
После установки pandom вы можете управлять им.
4.1 Тест производительности
Pandom предлагает около 8 килобайт в секунду, но его производительность может варьироваться в зависимости от среды.
dd if=/dev/random of=/dev/null bs=8 count=512512+0 records in
512+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s4.2 Тест энтропии и серийной корреляции
Помимо ncomputers.org/ entropyarray, есть и другие тесты, например, тестовый набор NIST от Ильи Герхардта.
entropyarray /dev/random 1M4.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 restartsystemd как система инициализации
systemctl status random
systemctl start random
systemctl stop random
systemctl restart random5 Увеличение непредсказуемости или производительности
Если вы хотите попробовать увеличить непредсказуемость или производительность вашей реализации 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 check5.3 Установка персонализированного pandom
Если вы довольны результатами, вы можете установить вашу персонализированную реализацию pandom.
make installДополнительная информация и обновления: http://ncomputers.org/pandom
Get new posts in your inbox
No spam. Unsubscribe anytime.