GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar pandom:un verdadero generador de números aleatorios para Linux

Este tutorial es para las versiones del kernel de linux amd64 / x86_64 mayores e iguales a 2.6.9. Explica cómo instalar pandom:un verdadero generador de números aleatorios de fluctuación de tiempo mantenido por ncomputers.org

Introducción

El generador de números aleatorios verdaderos del kernel de Linux incorporado proporciona un bajo rendimiento en circunstancias modernas, como por ejemplo:computadoras personales con unidades de estado sólido (SSD) y servidores privados virtuales (VPS).

Este problema se está volviendo popular en las implementaciones de Linux, debido a la necesidad cada vez mayor de números aleatorios verdaderos, principalmente por diversos propósitos criptográficos.

Pandom produce alrededor de 8 KiB/s de entropía de 64 ubits/64 bits, es compatible con entornos físicos y virtuales y asume que ningún otro proceso se ejecuta mientras el usuario root escribe en /dev/random.

1 Instalación de pandom

1.1 Obtener acceso raíz

Pandom debe estar instalado como root, ejecute este comando si es necesario.

su -

1.2 Instalar dependencias de compilación

Para descargar e instalar pandom, necesita:GNU como sembler, GNU hacer , GNU tar y GNU wget (los dos últimos generalmente ya instalados). Puede desinstalarlos más tarde si lo desea.

Sistemas basados ​​en arquitectura

pacman -S binutils make

Sistemas basados ​​en Debian

apt-get install binutils make

Sistemas basados ​​en Red Hat

dnf install binutils make
yum install binutils make

Sistemas basados ​​en SUSE

zypper install binutils make

1.3 Descargar y extraer fuentes

Estos comandos descargan y extraen las fuentes de pandom de ncomputers.org usando wget y alquitrán .

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

Esta prueba recomendada dura alrededor de 8 minutos. Comprueba la compatibilidad con el kernel y genera un archivo llamado checkme (analizado en la siguiente sección).

make check

1.5 Determinar el sistema de inicio

Antes de instalar pandom, necesita saber qué software de inicio utiliza su sistema. Si el siguiente comando genera la palabra en ejecución , significa que su sistema está usando systemd , de lo contrario, es probable que su sistema esté utilizando un init.d implementación (por ejemplo:advenedizo, sysvinit). Puede haber algunas excepciones, más información en estas respuestas de unix.stackexchange.com.

systemctl is-system-running
running

1.6 Instalar pandom

Una vez que sepa qué sistema utiliza su implementación de Linux, puede instalar pandom en consecuencia.

sistema de inicio basado en init.d (por ejemplo:upstart, sysvinit)

Instale pandom ejecutando este comando, si su sistema está usando un init.d implementación (por ejemplo:advenedizo, sysvinit).

make install-init.d

systemd como sistema de inicio

Instale pandom ejecutando este comando, si su sistema está usando systemd .

make install-systemd

2 Análisis del archivo checkme

Antes de usar pandom con fines criptográficos, se recomienda encarecidamente analizar checkme archivo generado durante el proceso de instalación en la sección anterior de este tutorial. Esta tarea es útil para saber si los números son realmente aleatorios o no. Esta sección explica cómo analizar checkme archivo usando ncomputers.org/entropyarray :un script de shell, que prueba la entropía y la correlación serial de su entrada.

Nota :este análisis puede ejecutarse en otra computadora, como una computadora portátil o de escritorio. Por ejemplo:si está instalando pandom en un servidor privado virtual (VPS) de recursos limitados, puede optar por copiar checkme archivo a su computadora personal, para analizarlo allí.
También puede usar Entropy Online Tester .

2.1 Obtenga acceso a la raíz

Entropyarray debe estar instalado como raíz, ejecute este comando si es necesario.

su -

2.2 Instalar dependencias de compilación

Para descargar e instalar entropyarray, necesita:GNU g++ compilador, GNU hacer , GNU tar y GNU wget (los dos últimos generalmente ya instalados). Puede desinstalarlos más tarde si lo desea.

Sistemas basados ​​en arco

pacman -S gcc make

Sistemas basados ​​en Debian

apt-get install g++ make

Sistemas basados ​​en Red Hat

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

Sistemas basados ​​en SUSE

zypper install gcc-c++ make

2.3 Descargar y extraer fuentes

Estos comandos descargan y extraen las fuentes de entropyarray de ncomputers.org usando wget y alquitrán .

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 Instalar entropyarray

Nota :los errores relacionados con -std=c++11 significan que GNU g++ la versión del compilador no es compatible con el estándar ISO C++ 2011. Puede intentar compilar ncomputers.org/entropy y ncomputers.org/rearray en otro sistema que lo admita (p. ej., GNU g++ en una versión más nueva de su distribución de Linux favorita) y luego instale los binarios compilados usando make install en el sistema que le gustaría ejecutar entropyarray , u omita este paso, aunque es muy recomendable que analice checkme archivo antes de usar pandom para cualquier propósito criptográfico.

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

2.5 Analizar archivo checkme

Nota :Las implementaciones pandom de 64 ubits / 64 bits deberían dar como resultado esta prueba con una entropía superior a 15.977 y máx frecuencia por debajo de 70 . Si sus resultados difieren demasiado, puede intentar aumentar la imprevisibilidad de su implementación de pandom como se describe en la quinta sección de este tutorial. En caso de que se haya saltado el último paso, puede usar otras herramientas, como la prueba de secuencia de números pseudoaleatorios.

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 Desinstalar entropyarray (opcional)

Si planea no usar más entropyarray, puede desinstalarlo cuando lo desee.

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

3 Instalación usando el repositorio de Debian

Si desea mantener pandom actualizado en su sistema basado en Debian, puede optar por instalarlo/reinstalarlo usando el repositorio de Debian de ncomputers.org.

3.1 Obtenga acceso a la raíz

Los siguientes paquetes de Debian deben instalarse como raíz, ejecute este comando si es necesario.

su -

3.2 Instalar llavero

Este paquete de Debian incluye la clave pública del repositorio de Debian ncomputers.org.

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

3.3 Lista de fuentes de instalación

Estos paquetes debian incluyen la lista de fuentes del repositorio debian ncomputers.org según las últimas distribuciones debian (año 2017).

Nota :También es posible escribir las líneas comentadas a continuación en /etc/apt/sources.list , en lugar de instalar el paquete debian respectivo para su distribución debian, pero si estas fuentes cambian en el futuro, deberá actualizarlas manualmente.

Sibilante

#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

Estiramiento

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

3.4 Actualizar lista de fuentes

Una vez que el conjunto de claves y la lista de fuentes estén instalados.

apt-get update

3.5 Prueba pandom

Una vez probado, puede desinstalar el siguiente paquete a voluntad.

Nota :si ya ha probado pandom en su implementación de Linux, puede omitir este paso.

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 Instalar pandom

apt-get install pandom

4 Gestión de pandom

Después de instalar pandom, es posible que desee administrarlo.

4.1 Prueba de rendimiento

Pandom ofrece alrededor de 8 kilobytes por segundo, pero su rendimiento puede variar según el entorno.

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 Prueba de entropía y correlación serial

Además de ncomputers.org/entropyarray , hay más pruebas, por ejemplo NIST testsuite de Ilja Gerhardt.

entropyarray /dev/random 1M

4.3 Servicio del sistema

Pandom se ejecuta como un servicio del sistema.

sistema de inicio basado en init.d (por ejemplo:upstart, sysvinit)

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

systemd como sistema de inicio

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

5 Aumento de la imprevisibilidad o el rendimiento

Si desea intentar aumentar la imprevisibilidad o el rendimiento de su implementación pandom, puede intentar agregar o eliminar medidas de tiempo de CPU.

5.1 Editar archivos fuente

En los archivos fuente test.s y tRNG.s agregue o elimine bloques de medidas a voluntad.

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

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

5.2 Probar la imprevisibilidad

Recomendamos probar siempre cualquier implementación pandom personalizada antes de usarla con fines criptográficos.

make check

5.3 Instalar pandom personalizado

Si está satisfecho con los resultados, puede instalar su implementación pandom personalizada.

make install

Información adicional y actualizaciones:http://ncomputers.org/pandom


Linux
  1. Cómo instalar Python en Linux

  2. Cómo instalar Java en Linux

  3. Cómo instalar NodeJS en Linux

  4. Cómo instalar FFmpeg en Linux

  5. Cómo instalar TeamViewer 15 en Linux

Cómo instalar Anaconda en Linux

Cómo instalar Setuptools para Python en Linux

Cómo instalar el subsistema de Windows para Linux

¡Cómo instalar Anaconda en Linux para la ciencia de datos gana!

Cómo instalar Android File Transfer para Linux en Ubuntu

Cómo instalar y configurar el subsistema de Windows para Linux