首页 » 科学 » 若何安装pandom:一个针对Linux的真随机数生成器_体系_测试

若何安装pandom:一个针对Linux的真随机数生成器_体系_测试

少女玫瑰心 2024-12-29 21:18:34 0

扫一扫用手机浏览

文章目录 [+]

本文将阐明如何安装 pandom,这是一个由 ncomputers.org 掩护的定时抖动真随机数天生器。
-- Oliver

本文导航

-简介 …… 02%

若何安装pandom:一个针对Linux的真随机数生成器_体系_测试 若何安装pandom:一个针对Linux的真随机数生成器_体系_测试 科学

-1 pandom 的安装 …… 07%

若何安装pandom:一个针对Linux的真随机数生成器_体系_测试 若何安装pandom:一个针对Linux的真随机数生成器_体系_测试 科学
(图片来自网络侵删)

-1.1 得到 root 权限 …… 07%

-1.2 安装编译所需的依赖 …… 08%

-1.3 下载并析出源码 …… 14%

-1.4 在安装提高行测试 (推举) …… 17%

-1.5 确定系统的初始化程序 …… 19%

-1.6 安装 pandom …… 22%

-2 checkme 文件的剖析 …… 27%

-2.1 获取 root 权限 …… 32%

-2.2 安装编译所需的依赖 …… 34%

-2.3 下载并析出源码 …… 39%

-2.4 安装 entropyarray …… 43%

-2.5 剖析 checkme 文件 …… 49%

-2.6 卸载 entropyarray (可选) …… 55%

-3 利用 debian 的软件仓库来进行安装 …… 58%

-3.1 获取 root 权限 …… 59%

-3.2 安装密钥 …… 61%

-3.3 安装软件源列表 …… 63%

-3.4 升级软件源列表 …… 71%

-3.5 测试 pandom …… 73%

-3.6 安装 pandom …… 77%

-4 管理 pandom …… 78%

-4.1 性能测试 …… 79%

-4.2 熵和序列干系性考验 …… 81%

-4.3 系统做事 …… 83%

-5 增强不可预测性或者性能 …… 87%

-5.1 编辑源文件 …… 89%

-5.2 测试不可预测性 …… 91%

-5.3 安装定制的 pandom …… 93%

编译自: https://www.howtoforge.com/tutorial/how-to-install-pandom-a-true-random-number-generator/

作者: Oliver

译者: FSSlc

本教程只针对 amd64/x86_64 架构 Linux 内核版今年夜于即是 2.6.9 的系统。
本文将阐明如何安装 pandom[1],这是一个由 ncomputers.org 掩护的定时抖动真随机数天生器。

简介

在现在的打算机状况下,比如说配置了固态硬盘(SSD)的个人电脑和虚拟专用做事器(VPS)的环境中,Linux 内核内置的真随机数发生器供应的吞吐量很低。

而出于各种不同的加密目的使得对真随机数的需求持续增长,从而使得这个低吞吐量问题在 Linux 实现中变得越来越严重。

在与上述相同的物理或者虚拟环境下,并假设没有其它进程以 root 身份向 /dev/random 进行写操作的话,64 ubits[2]/64 bits 的 pandom 可以以 8 KiB/s 的速率天生随机数。

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 下载并析出源码

下面的命令将利用 wget 和 tar 从 ncomputers.org 下载 pandom 的源代码并将它们解压出来:

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

systemctl is-system-running

running

1.6 安装 pandom

一旦你知道了你的系统利用何种 Linux 实现,那么你就可以相应地安装 pandom 了。

利用基于 init.d 作为初始化程序(如: upstart、sysvinit)的系统:

如果你的系统利用了一个 init.d 的实现(如: upstart、sysvinit),请运行下面的命令来安装 pandom:

make install-init.d

以 systemd 作为初始化程序的系统:

如果你的系统利用 systemd,则请运行以下命令来安装 pandom:

make install-systemd 2 checkme 文件的剖析

在利用 pandom 进行加密之前,强烈建议剖析一下先前在安装过程中天生的 checkme 文件。
通过剖析我们便可以知道用 pandom 天生的数是否真的随机。
本节将阐明如何利用 ncomputers.org 的 shell 脚本 entropyarray 来测试由 pandom 产生的输出的熵及序列干系性。

注:全体剖析过程也可以在另一台电脑上完成,例如在一个条记本电脑或台式机上。
举个例子:如果你正在一个资源受到限定的 VPS 上安装 pandom 程序,或许你更方向于将 checkme 复制到自己的个人电脑中,然后再进行剖析。

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 下载并析出源码

以下命令将利用 wget 和 tar 从 ncomputers.org 下载到 entropyarray 的源码并进行解压:

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 (例如在一个你喜好的较新的 Linux 发行版本中来编译)。
接着利用 make install 来安装编译好的二进制文件,再接着你可能想连续运行 entropyarray 程序,或者跳过运行该程序这一步骤,然而我还是建议在利用 pandom 来达到加密目地之前先剖析一下 checkme 文件。

cd rearray; make install; cd ..

cd entropy; make install; cd ..

cd entropyarray; make install; cd ..

2.5 剖析 checkme 文件

注:64 ubits[3] / 64 bits 的 pandom 实现所天生的结果中熵该当高于 15.977 且 max 字段低于 70。
如果你的结果与之相差巨大,或许你该当按照下面第 5 节先容的那样增加你的 pandom 实现的不可预测性。
如果你跳过了天生 checkme 文件的那一步,你也可以利用其他的工具来进行测试,例如 伪随机数序列测试[4]。

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 的软件仓库来进行安装

如果你想在你基于 debian 的系统中让 pandom 保持更新,则你可以利用 ncomputers.org 的 debian 软件仓库来安装或者重新安装它。

3.1 获取 root 权限

以下的 debian 软件包必须以 root 身份来安装,以是在必要时请运行下面这个命令:

su - 3.2 安装密钥

下面的 debian 软件包中包含 ncomputers.org debian 软件仓库的公匙密钥:

wget http://ncomputers.org/debian/keyring.deb

dpkg -i keyring.deb

rm keyring.deb

3.3 安装软件源列表

下面这些 debian 软件包含有 ncomputers.org debian 软件仓库的软件源列表,这些软件源列表对应最新的 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

测试完毕后,你可以随意卸载下面的软件包。

注:如果你已经在你的 Linux 中测试了 pandom , 则你可以跳过这一步。

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 安装 pandomapt-get install pandom 4 管理 pandom

在 pandom 安装完成后,你可能想对它进行管理。

4.1 性能测试

pandom 供应大约 8 kB/s 的随机数天生速率,但它的性能可能根据环境而有所差异。

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,还存在更多的测试,例如 Ilja Gerhardt 的 NIST 测试套件[5]。

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 程序的不可预测性或者性能,你可以考试测验增加或删减 CPU 韶光丈量选项。

5.1 编辑源文件

请按照自己的意愿,在源文件 test.s 和 tRNG.s 中增加或者移除 measurement blocks 字段。

#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 。

(题图:Pixabay,CC0)

via: https://www.howtoforge.com/tutorial/how-to-install-pandom-a-true-random-number-generator/

作者:Oliver[6] 译者:FSSlc 校正:wxy

本文由 LCTT 原创编译,Linux中国 名誉推出

[1]: pandom - http://ncomputers.org/pandom

[2]: ubits - http://ncomputers.org/ubit

[3]: ubits - http://ncomputers.org/ubit

[4]: 伪随机数序列测试 - http://www.fourmilab.ch/random/

[5]: Ilja Gerhardt 的 NIST 测试套件 - https://gerhardt.ch/random.php

[6]: Oliver - https://www.howtoforge.com/tutorial/how-to-install-pandom-a-true-random-number-generator/

标签:

相关文章

DLL爪子刀,探索现代技术的神奇魅力

随着科技的飞速发展,各种高科技产品层出不穷。DLL爪子刀作为一项现代技术的产物,凭借其独特的功能和卓越的性能,在我国市场上备受关注...

科学 2024-12-31 阅读0 评论0

DLL稳定性,软件发展的基石

随着信息技术的飞速发展,软件已成为我们日常生活中不可或缺的一部分。DLL(Dynamic Link Library)作为Windo...

科学 2024-12-31 阅读0 评论0