Category: administration

Das Scrollrad unter Linux beschleunigen

10.07.2017 yahe administration legacy linux

Wie ich bereits im letzten Artikel beschrieben habe, wechsele ich derzeit zu Linux als mein Hauptbetriebssystem. Leider gibt es dabei immer wieder kleinere Stolpersteine, die die Arbeit mit dem System nervig machen. Eines davon war die absolut träge Scrollgeschwindigkeit innerhalb des Systems. Nicht nur, dass man sich dadurch durch längere Webseiten und Terminalsessions krampfen muss, das System fühlt sich oft einfach lahm und überfordert an.

Auf der Suche danach, diesen Missstand zu beseitigen, wanderte ich natürlich erst einmal in die Systemeinstellungen, die bzgl. der Einstellungsmöglichkeiten der Maus, recht spartanisch ist. Von Themen wir Beschleunigung ist man hier offenbar meilenweit entfernt.

Gnome Mauseinstellungen

Also begann ich damit, mich durch Google zu graben. Als erstes stolperte ich über Beschreibungen zur Nutzung von "xinput". Also fix installiert und per "xinput list" erst nach der ID des Devices gesucht und anschließend per "xinput list-props <DeviceID>" die möglichen Optionen durchforstet. Leider fand ich in der Auflistung nichts, was nach der Scrollgeschwindigkeit aussah oder wenigstens wie etwas, was dem nahe kam, was laut den Foreneinträgen der korrekte Konfigurationswert hätte sein sollen.

Noch gab ich aber nicht auf und suchte weiter. Dabei stieß ich auf das Tool "imwheel", das genau das tun sollte, was ich erreichen wollte. Es funktioniert allerdings nicht out-of-the-Box und die meisten Artikel, die ich zuerst fand, bezogen sich darauf, wie man mit imwheel zusätzliche Maustasten unter Linux zum Laufen kriegt. Erst ein halbwegs neuer Artikel half mir dann tatsächlich weiter. Zuerst einmal muss man imwheel installieren:

sudo apt-get install imwheel

Anschließend muss man eine Konfigurationsdatei namens "~/.imwheelrc" erstellen:

".*"
None,      Up,   Button4, 3
None,      Down, Button5, 3
Control_L, Up,   Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L,   Up,   Shift_L|Button4
Shift_L,   Down, Shift_L|Button5

Der Wert ".*" sorgt dafür, dass imwheel in allen Anwendungsfenstern aktiv ist. Man kann hier auch alternativ Fensternamen eintragen, um die Funktion von imwheel auf einzelne Anwendungen zu beschränken. Die einzelnen Zeilen sind nun Ersetzungen, die von imwheel durchgeführt werden. "Button4" ist das nach-oben-scrollen der Maus, "Button5" das nach-unten-scrollen. Diese werden hier durch 3-faches Drücken der Up- bzw. Down-Taste ersetzt. Das gleiche geschieht für Situationen, in denen die Ctrl- bzw. Shift-Taste gedrückt wird. Nun muss man diese Ersetzung nur noch aktivieren:

imwheel --kill --buttons "4 5"

Mit "--kill" werden alle bereits laufenden Instanzen von imwheel beendet, damit sich unterschiedlich konfigurierte Instanzen nicht in die Quere kommen können. Die Angabe "--buttons "4 5"" sorgt dafür, dass imwheel sich nur um die Behandlung des Scrollrads kümmert. Man kann über imwheel auch die Scrollrichtung umkehren. Entweder, indem man die oben stehende Konfigurationsdatei umschreibt oder aber, indem man einfach den zusätzlichen Parameter "--flip-buttons" verwendet:

imwheel --kill --buttons "4 5" --flip-buttons

Das ganze funktioniert unter Debian mit Gnome schon ganz gut, aber nur bis zum nächsten Neustart. Um die Änderung dauerhaft einzurichten, muss man noch dafür sorgen, dass imwheel beim Hochfahren aktiviert wird. Hierfür bietet sich an, die Autostart-Funktion von Gnome zu verwenden. Um das zu erreichen, legt man die Datei "~/.config/autostart/imwheel.desktop" an und befüllt diese wie folgt:

[Desktop Entry]
Name=imwheel
Comment=Use imwheel to increase scroll speed
Exec=/usr/bin/imwheel --kill --buttons "4 5"
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=10

Auch hier kann man optional den Parameter "--flip-buttons" verwenden, um die Scrollrichtung umzukehren:

[Desktop Entry]
Name=imwheel
Comment=Use imwheel to increase scroll speed
Exec=/usr/bin/imwheel --kill --buttons "4 5" --flip-buttons
Terminal=false
Type=Application
X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=10

Ich muss gestehen, dass ich ziemlich genervt bin, dass man halbe Handstände vollführen muss, nur um das Scrollrad zu beschleunigen. 🙄


Emojis unter Linux nutzen

06.07.2017 yahe administration legacy linux

Da Apple sich aus meiner Sicht mit den MacBooks in die falsche Richtung entwickelt, arbeite ich derzeit an einem Soft-Exit aus der macOS-Welt. Da ich sowieso noch einen Tower-PC umher stehen hatte, habe ich mir deshalb gedacht "Warum nicht den ersten Schritt gehen und einen alltagstauglichen Rechner mit Linux bestücken und anfangen, diesen häufiger zu nutzen?".

Genau dabei bin ich gerade. Ich habe mir ein hübsches neues Debian 9 eingerichtet, zwei ordentliche Monitore besorgt und nutze den Desktoprechner nun als Linux-only Haupt-PC. Das klappt soweit auch ganz gut. Eine Sache hat mir als jahrelanger MacBook- und iPhone-Nutzer jedoch gefehlt: Emojis! 😭

Also machte ich mich auf die Suche nach einer Möglichkeit, Emojis zu verwenden. Die meisten Lösungen, die ich gefunden habe, waren jedoch eher suboptimal. Vor allem unterstützte keine davon farbige Emojis in der Auswahlansicht. Und Schwarz-/Weiß-Emojis unterscheiden zu wollen, ist nahezu ein Ding der Unmöglichkeit.

Glücklicherweise bin ich über diesen Artikel gestolpert, der von einem Emoji-Picker handelt, der zu Ubuntu-14.04-Zeiten für Unity 7 entwickelt worden ist. Glücklicherweise ist der EmojiOne Picker for Ubuntu auch unter Debian 9 mit Gnome lauffähig. Um das zu bewerkstelligen, muss zuerst einmal das aktuelle Release heruntergeladen und entpackt werden. Dieses enthält die Datei "install.sh". Dieser Installer kann als Root aufgerufen werden, um den Emoji-Picker für alle Nutzer zu installieren. Oder aber man startet ihn als normaler Nutzer, damit der Emoji-Picker nur für diesen spezifischen Nutzer installiert wird.

Leider war es bei mir an der Stelle noch nicht getan. Um die Integration in die Oberfläche zu erhalten, nutzt das Tool die Library "AppIndicator 3.0". Um diese zu installieren, muss man erst einmal den korrekten Paketnamen ausfindig machen. Die Installation kann folgendermaßen angestoßen werden:

sudo apt-get install gir1.2-appindicator3-0.1

Nach einem Reboot erhält man nun in der unteren linken Bildschirmecke einen Eintrag für den Emoji-Picker, der sich wunderbar aufklappen lässt, um das passende Emoji rauszusuchen, in Farbe und bunt.

EmojiOne Picker Ubuntu

Leider ist das Tool nicht ganz so komfortabel wie die Emoji-Eingabe bei macOS. Anstatt das Menü über eine Tastenkombination aufzurufen, muss man händisch mit der Maus in den Bildschirmbereich fahren. Und im Gegensatz zu macOS wird das gewählte Emoji lediglich in die Zwischenablage kopiert, anstatt direkt ins aktive Textfeld geschrieben zu werden. Aber zumindest scheint es erst einmal besser zu sein, als alles, was ich bisher sonst so unter Linux gesehen habe. Leider.


CentOS 7 mit Two-Factor-Authentication absichern

11.08.2016 yahe administration legacy linux security

Nach meiner Migration zu CentOS 7 wollte ich Two-Factor-Authentication für SSH-Logins einrichten. Allerdings musste ich feststellen, dass es für CentOS 7 keine aktuellen Pakete des entsprechenden PAM (Pluggable Authentication Module) gibt. So musste ich wohl oder übel das ganze selbst kompilieren. Bevor man jedoch loslegen kann, benötigt man zuerst einmal ein paar zusätzliche Pakete:

sudo yum install autoconf automake libtool make pam-devel unzip wget zip

Nun können wir mit der eigentlichen Installation beginnen:

wget https://github.com/google/google-authenticator/archive/master.zip
unzip ./master.zip
cd ./google-authenticator-master/libpam
./bootstrap.sh
./configure

Bis hierhin sollte alles funktioniert haben. Leider enthält die erstellte Konfiguration einen kleinen Fehler. Deshalb müssen wir händisch an den Anfang der Datei "./Makefile" folgende Zeile einfügen:

LDFLAGS="-lpam"

Nun kann es mit dem Kompilieren weitergehen:

make
sudo make install
sudo cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security
make clean
cd ../..
rm ./master.zip
rm -R ./google-authenticator-master

Um die Nutzer zu markieren, für die die Two-Factor-Authentication aktiviert werden soll, legen wir eine Gruppe "google-auth" an:

sudo groupadd google-auth

Zudem ändern wir in der Datei "/etc/ssh/sshd_conf" eine Einstellung:

ChallengeResponseAuthentication yes

Danach schreiben wir folgendes in die Datei "/etc/pam.d/sshd" (z.B. unter die restlichen "auth"-Einträge):

auth [success=1 default=ignore] pam_succeed_if.so user notingroup google-auth
auth required pam_google_authenticator.so

Mit einem Restart des SSH-Servers sind die Änderungen aktiv:

sudo systemctl restart sshd.service

Nun müssen die Nutzer, für die die Two-Factor-Authentication aktiviert werden soll, das Skript zur Einrichtung der Two-Factor-Authentication in ihrem Account aufrufen:

google-authenticator

Abschließend müssen diese Nutzer noch in die Gruppe "google-auth" aufgenommen werden:

sudo usermod -a -G google-auth <username>

Das war's! Mit diesen Schritten lässt sich unter CentOS 7 eine Two-Factor-Authentication einrichten.


PHP 7 unter CentOS 7 installieren

09.08.2016 yahe administration legacy linux

Ich bin inzwischen mit allen Servern zu CentOS migriert. Das Gute an CentOS ist, dass es eine recht stabile Distribution ist und jedes Major Release 10 Jahre lang Support erhält. Das Schlechte an CentOS ist, dass viele Pakete dadurch in einer recht alten Version vorliegen, die lediglich mit Bug- und Security-Fixes versorgt werden. Bei meinen Webserverinstallationen möchte ich hingegen lieber neue Versionen betreiben, um neue Features zu erhalten.

Bei der Installation einer neueren Version hat man mehrere Möglichkeiten. Entweder, man kompiliert PHP 7 selbst oder man setzt ein Dritt-Repository ein, in dem bereits vorkompilierte Pakete für PHP 7 enthalten sind. In diesem Fall habe ich mich für zweiteres entschieden. Mit ius.io gibt es für CentOS 7 ein Repository, in dem die wichtigsten Pakete enthalten sind und das aufgrund der Unterstützung durch den Hoster Rackspace lange erhalten bleiben sollte. Um das Repository von IUS verwenden zu können, muss man im ersten Schritt deren RPM-Paket installieren, das sich darum kümmert, das Repository im System einzukonfigurieren:

wget "https://centos7.iuscommunity.org/ius-release.rpm"
sudo rpm -i ./ius-release.rpm
rm ./ius-release.rpm

Zusätzlich muss noch der öffentliche Schlüssel importiert werden, mit dessen Hilfe die Signaturen der heruntergeladenen Pakete überprüft werden können:

sudo rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

Wenn man es noch nicht getan hat, sollte man weiterhin das EPEL-Repository mit einbinden, das weitere hilfreiche und meist aktuellere Software enthält. Das lässt sich durch die Softwareverwaltung realisieren:

sudo yum install epel-release

In meinem Fall installiere ich neben PHP auch immer gleich MariaDB und NGINX. Das IUS-Repository enthält auch eine aktuellere Version von MariaDB. Damit man diese installieren kann, müssen jedoch vorher die bereits vorhandenen "mariadb-libs" entfernt werden. Im Zuge dessen wird auch Postfix deinstalliert. Wir werden es einfach im Anschluss erneut installieren:

sudo yum remove mariadb-libs

Nun können wir die gewünschte Software über die Softwareverwaltung installieren. Pakete, die über IUS installierten werden, enthalten immer den Suffix "u", um sie leichter erkennen zu können und Kollisionen mit Standardpaketen zu vermeiden:

sudo yum install mariadb101u-server nginx php70u-cli php70u-fpm php70u-gd php70u-imap php70u-intl php70u-json php70u-ldap php70u-mbstring php70u-mcrypt php70u-mysqlnd php70u-pdo php70u-pear php70u-pgsql php70u-process php70u-pspell php70u-recode php70u-soap php70u-xml php70u-xmlrpc postfix

haveged: Entropiesammlung unter Linux

02.11.2015 yahe administration legacy linux security

Vor ein paar Tagen hatte ich vorgestellt, wie man den Hardware-Zufallszahlengenerator des Raspberry Pi nutzen kann, um unter Linux weniger Probleme mit hängenden Kryptographievorgängen zu haben. Leider hat nicht jeder Linux-Server einen Hardware-Zufallszahlengenerator, der als Entropiequelle genutzt werden kann. In diesen Fällen muss eine andere Quelle herhalten. Glücklicherweise hat sich das französische Institut IRISA Anfang des Jahrtausends das HAVEGE-Verfahren (HArdware Volatile Entropy Gathering and Expansion) ausgedacht. Dieses basiert darauf, dass in modernen Computersystem unzählige verschiedene Hardwarezustände (Cache-Zustände, das Auftreten von Interrupts, etc.) dafür verantwortlich sind, dass der exakt gleiche Code im Micro- und Nanosekundenbereich unterschiedlich schnell abgearbeitet wird. Die Abweichungen, die bei einer entsprechenden Zeitmessung auftreten, sind, so die Erfinder, nahezu unmöglich zu erahnen oder gar zu reproduzieren. Genau diese Abweichungen wären daher eine gute Quelle für Entropie.

Zwar wird das originale HAVEGE seit Jahren nicht mehr weiterentwickelt, jedoch gibt es den Ableger haveged, der inzwischen in allen großen Distributionen enthalten sein sollte. "Sollte" deshalb, da z.B. RHEL (Red Hat Enterprise Linux) das Paket nicht standardmäßig mit ausliefert. Hier muss auf das EPEL-Projekt (Extra Packages for Enterprise Linux) des Fedora Project zurückgegriffen werden- Die Installation ist dann recht einfach über den rpm-Befehl möglich.

Leider ist haveged zu Unrecht ein wenig in Verruf geraten. Hintergrund ist, dass PolarSSL mbed SSL im Dezember 2011 ein Security Advisory herausgegebene hatte. Diese SSL-Bibliothek verwendete bis dahin HAVEGE als alleinige Entropiequelle für Schlüsselerzeugungen und dergleichen. Jedoch stellte man fest, dass der RDTSC-Befehl, der zum exakten Zeitmessen verwendet wird, auf einigen virtualisierten Maschinen nur schlechte (und damit leicht reproduzierbare) Werte zurücklieferte. Es ist daher potentiell sinnvoll, vor dem produktiven Einsatz zu prüfen, ob der RDTSC-Befehl korrekt funktioniert. Eine Möglichkeit ist, die Ausgabe von haveged durch einen "dieharder"-Testlauf prüfen zu lassen. Hierzu muss man einfach haveged aufrufen und dessen Output in den Eingang von dieharder leiten:

sudo haveged -n 0 -f - | dieharder -g 200 -a

Trotz der Vorsicht hat haveged auch einige Anhänger: So erklärt beispielsweise Heinlein Support, der Betreiber des sicheren E-Mail-Dienstes mailbox.org, den Einsatz von haveged in seinem Linux-Admin-Blog. Die Distribution SLES (SUSE Linux Enterprise Server) geht sogar noch einen Schritt weiter. Dort ist haveged seit der Version 11 SP 1 standardmäßig installiert und seit der Version 11 SP 2 auch standardmäßig aktiviert. Viele Linux-Administratoren verwenden also potentiell bereits haveged in ihrer Produktumgebung, ohne es überhaupt zu wissen.

Natürlich habe auch ich mir angesehen, ob ich haveged einsetzen kann. Um mir eine abschließende Meinung bilden zu können, habe ich auf jedem in Frage kommenden System den dieharder Testlauf durchgeführt. An dieser Stelle veröffentliche ich auch der Vollständigkeit halber die entsprechenden Ergebnisse.

Auf dem BCM2835 des Raspberry Pi sehen die Ergebnisse gut aus:

#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  8.48e+05  |3348700180|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.45785536|  PASSED
      diehard_operm5|   0|   1000000|     100|0.60477535|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.29286920|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.23237712|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.05506401|  PASSED
        diehard_opso|   0|   2097152|     100|0.77736890|  PASSED
        diehard_oqso|   0|   2097152|     100|0.62599391|  PASSED
         diehard_dna|   0|   2097152|     100|0.28611820|  PASSED
diehard_count_1s_str|   0|    256000|     100|0.75847797|  PASSED
diehard_count_1s_byt|   0|    256000|     100|0.27169177|  PASSED
 diehard_parking_lot|   0|     12000|     100|0.91232487|  PASSED
    diehard_2dsphere|   2|      8000|     100|0.94904496|  PASSED
    diehard_3dsphere|   3|      4000|     100|0.21628095|  PASSED
     diehard_squeeze|   0|    100000|     100|0.32795324|  PASSED
        diehard_sums|   0|       100|     100|0.00069872|   WEAK
        diehard_runs|   0|    100000|     100|0.76153066|  PASSED
        diehard_runs|   0|    100000|     100|0.97532990|  PASSED
       diehard_craps|   0|    200000|     100|0.69750059|  PASSED
       diehard_craps|   0|    200000|     100|0.70646049|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.12267708|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.19422474|  PASSED
         sts_monobit|   1|    100000|     100|0.76342910|  PASSED
            sts_runs|   2|    100000|     100|0.41068776|  PASSED
          sts_serial|   1|    100000|     100|0.43901131|  PASSED
          sts_serial|   2|    100000|     100|0.08832557|  PASSED
          sts_serial|   3|    100000|     100|0.84110757|  PASSED
          sts_serial|   3|    100000|     100|0.41468366|  PASSED
          sts_serial|   4|    100000|     100|0.72012668|  PASSED
          sts_serial|   4|    100000|     100|0.36171448|  PASSED
          sts_serial|   5|    100000|     100|0.81674015|  PASSED
          sts_serial|   5|    100000|     100|0.88818478|  PASSED
          sts_serial|   6|    100000|     100|0.97895561|  PASSED
          sts_serial|   6|    100000|     100|0.98733145|  PASSED
          sts_serial|   7|    100000|     100|0.72348815|  PASSED
          sts_serial|   7|    100000|     100|0.11691286|  PASSED
          sts_serial|   8|    100000|     100|0.61923729|  PASSED
          sts_serial|   8|    100000|     100|0.97185433|  PASSED
          sts_serial|   9|    100000|     100|0.75444842|  PASSED
          sts_serial|   9|    100000|     100|0.56167376|  PASSED
          sts_serial|  10|    100000|     100|0.99999103|   WEAK
          sts_serial|  10|    100000|     100|0.94590480|  PASSED
          sts_serial|  11|    100000|     100|0.91257068|  PASSED
          sts_serial|  11|    100000|     100|0.66909798|  PASSED
          sts_serial|  12|    100000|     100|0.86817154|  PASSED
          sts_serial|  12|    100000|     100|0.76794279|  PASSED
          sts_serial|  13|    100000|     100|0.40705505|  PASSED
          sts_serial|  13|    100000|     100|0.50118838|  PASSED
          sts_serial|  14|    100000|     100|0.61229062|  PASSED
          sts_serial|  14|    100000|     100|0.85491685|  PASSED
          sts_serial|  15|    100000|     100|0.91714380|  PASSED
          sts_serial|  15|    100000|     100|0.62863486|  PASSED
          sts_serial|  16|    100000|     100|0.79024560|  PASSED
          sts_serial|  16|    100000|     100|0.46711922|  PASSED
         rgb_bitdist|   1|    100000|     100|0.32027203|  PASSED
         rgb_bitdist|   2|    100000|     100|0.82936629|  PASSED
         rgb_bitdist|   3|    100000|     100|0.32836216|  PASSED
         rgb_bitdist|   4|    100000|     100|0.05014161|  PASSED
         rgb_bitdist|   5|    100000|     100|0.60319043|  PASSED
         rgb_bitdist|   6|    100000|     100|0.46447338|  PASSED
         rgb_bitdist|   7|    100000|     100|0.78238492|  PASSED
         rgb_bitdist|   8|    100000|     100|0.47473097|  PASSED
         rgb_bitdist|   9|    100000|     100|0.96469269|  PASSED
         rgb_bitdist|  10|    100000|     100|0.16923688|  PASSED
         rgb_bitdist|  11|    100000|     100|0.21372692|  PASSED
         rgb_bitdist|  12|    100000|     100|0.80306989|  PASSED
rgb_minimum_distance|   2|     10000|    1000|0.10142178|  PASSED
rgb_minimum_distance|   3|     10000|    1000|0.09184875|  PASSED
rgb_minimum_distance|   4|     10000|    1000|0.75662814|  PASSED
rgb_minimum_distance|   5|     10000|    1000|0.11774862|  PASSED
    rgb_permutations|   2|    100000|     100|0.52525569|  PASSED
    rgb_permutations|   3|    100000|     100|0.56127774|  PASSED
    rgb_permutations|   4|    100000|     100|0.66925921|  PASSED
    rgb_permutations|   5|    100000|     100|0.02115162|  PASSED
      rgb_lagged_sum|   0|   1000000|     100|0.76176860|  PASSED
      rgb_lagged_sum|   1|   1000000|     100|0.96497209|  PASSED
      rgb_lagged_sum|   2|   1000000|     100|0.43298109|  PASSED
      rgb_lagged_sum|   3|   1000000|     100|0.81781736|  PASSED
      rgb_lagged_sum|   4|   1000000|     100|0.62701591|  PASSED
      rgb_lagged_sum|   5|   1000000|     100|0.62074437|  PASSED
      rgb_lagged_sum|   6|   1000000|     100|0.39233421|  PASSED
      rgb_lagged_sum|   7|   1000000|     100|0.88875393|  PASSED
      rgb_lagged_sum|   8|   1000000|     100|0.56490272|  PASSED
      rgb_lagged_sum|   9|   1000000|     100|0.85420827|  PASSED
      rgb_lagged_sum|  10|   1000000|     100|0.90991238|  PASSED
      rgb_lagged_sum|  11|   1000000|     100|0.83617905|  PASSED
      rgb_lagged_sum|  12|   1000000|     100|0.10804203|  PASSED
      rgb_lagged_sum|  13|   1000000|     100|0.01520972|  PASSED
      rgb_lagged_sum|  14|   1000000|     100|0.35537614|  PASSED
      rgb_lagged_sum|  15|   1000000|     100|0.70361276|  PASSED
      rgb_lagged_sum|  16|   1000000|     100|0.57752259|  PASSED
      rgb_lagged_sum|  17|   1000000|     100|0.04567487|  PASSED
      rgb_lagged_sum|  18|   1000000|     100|0.99990241|   WEAK
      rgb_lagged_sum|  19|   1000000|     100|0.59703607|  PASSED
      rgb_lagged_sum|  20|   1000000|     100|0.01424569|  PASSED
      rgb_lagged_sum|  21|   1000000|     100|0.01190246|  PASSED
      rgb_lagged_sum|  22|   1000000|     100|0.28083614|  PASSED
      rgb_lagged_sum|  23|   1000000|     100|0.85922233|  PASSED
      rgb_lagged_sum|  24|   1000000|     100|0.74805305|  PASSED
      rgb_lagged_sum|  25|   1000000|     100|0.33664323|  PASSED
      rgb_lagged_sum|  26|   1000000|     100|0.68550123|  PASSED
      rgb_lagged_sum|  27|   1000000|     100|0.71237718|  PASSED
      rgb_lagged_sum|  28|   1000000|     100|0.47764816|  PASSED
      rgb_lagged_sum|  29|   1000000|     100|0.36902623|  PASSED
      rgb_lagged_sum|  30|   1000000|     100|0.70886921|  PASSED
      rgb_lagged_sum|  31|   1000000|     100|0.86385367|  PASSED
      rgb_lagged_sum|  32|   1000000|     100|0.93629132|  PASSED
     rgb_kstest_test|   0|     10000|    1000|0.16180294|  PASSED
     dab_bytedistrib|   0|  51200000|       1|0.54526159|  PASSED
             dab_dct| 256|     50000|       1|0.01211310|  PASSED
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.28341243|  PASSED
        dab_filltree|  32|  15000000|       1|0.40586913|  PASSED
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.99340648|  PASSED
       dab_filltree2|   1|   5000000|       1|0.94767580|  PASSED
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.43391232|  PASSED

Mein Hauptserver wird mit einem "Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz" betrieben. Auch dessen Überprüfung liefert gute Ergebnisse:

#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  5.53e+07  |3948260661|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.87942414|  PASSED
      diehard_operm5|   0|   1000000|     100|0.48126438|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.49454734|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.57071448|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.05867636|  PASSED
        diehard_opso|   0|   2097152|     100|0.92742494|  PASSED
        diehard_oqso|   0|   2097152|     100|0.87263461|  PASSED
         diehard_dna|   0|   2097152|     100|0.41023900|  PASSED
diehard_count_1s_str|   0|    256000|     100|0.56140444|  PASSED
diehard_count_1s_byt|   0|    256000|     100|0.47686501|  PASSED
 diehard_parking_lot|   0|     12000|     100|0.59549008|  PASSED
    diehard_2dsphere|   2|      8000|     100|0.85268300|  PASSED
    diehard_3dsphere|   3|      4000|     100|0.21177774|  PASSED
     diehard_squeeze|   0|    100000|     100|0.22008717|  PASSED
        diehard_sums|   0|       100|     100|0.27919825|  PASSED
        diehard_runs|   0|    100000|     100|0.28528603|  PASSED
        diehard_runs|   0|    100000|     100|0.88804265|  PASSED
       diehard_craps|   0|    200000|     100|0.50789926|  PASSED
       diehard_craps|   0|    200000|     100|0.44794845|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.85094292|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.87826981|  PASSED
         sts_monobit|   1|    100000|     100|0.34667211|  PASSED
            sts_runs|   2|    100000|     100|0.87692980|  PASSED
          sts_serial|   1|    100000|     100|0.92230630|  PASSED
          sts_serial|   2|    100000|     100|0.42487308|  PASSED
          sts_serial|   3|    100000|     100|0.47201211|  PASSED
          sts_serial|   3|    100000|     100|0.45286777|  PASSED
          sts_serial|   4|    100000|     100|0.99293625|  PASSED
          sts_serial|   4|    100000|     100|0.95982278|  PASSED
          sts_serial|   5|    100000|     100|0.72869396|  PASSED
          sts_serial|   5|    100000|     100|0.15359933|  PASSED
          sts_serial|   6|    100000|     100|0.29986703|  PASSED
          sts_serial|   6|    100000|     100|0.90350707|  PASSED
          sts_serial|   7|    100000|     100|0.82937553|  PASSED
          sts_serial|   7|    100000|     100|0.69745997|  PASSED
          sts_serial|   8|    100000|     100|0.76976576|  PASSED
          sts_serial|   8|    100000|     100|0.94487729|  PASSED
          sts_serial|   9|    100000|     100|0.21190616|  PASSED
          sts_serial|   9|    100000|     100|0.95673394|  PASSED
          sts_serial|  10|    100000|     100|0.28956816|  PASSED
          sts_serial|  10|    100000|     100|0.59407297|  PASSED
          sts_serial|  11|    100000|     100|0.97436422|  PASSED
          sts_serial|  11|    100000|     100|0.68107472|  PASSED
          sts_serial|  12|    100000|     100|0.40336698|  PASSED
          sts_serial|  12|    100000|     100|0.80817356|  PASSED
          sts_serial|  13|    100000|     100|0.89780894|  PASSED
          sts_serial|  13|    100000|     100|0.97992817|  PASSED
          sts_serial|  14|    100000|     100|0.56469700|  PASSED
          sts_serial|  14|    100000|     100|0.75256118|  PASSED
          sts_serial|  15|    100000|     100|0.04120757|  PASSED
          sts_serial|  15|    100000|     100|0.21211072|  PASSED
          sts_serial|  16|    100000|     100|0.38377842|  PASSED
          sts_serial|  16|    100000|     100|0.44555996|  PASSED
         rgb_bitdist|   1|    100000|     100|0.81895044|  PASSED
         rgb_bitdist|   2|    100000|     100|0.64929431|  PASSED
         rgb_bitdist|   3|    100000|     100|0.65870845|  PASSED
         rgb_bitdist|   4|    100000|     100|0.56304051|  PASSED
         rgb_bitdist|   5|    100000|     100|0.75496902|  PASSED
         rgb_bitdist|   6|    100000|     100|0.06767649|  PASSED
         rgb_bitdist|   7|    100000|     100|0.30374549|  PASSED
         rgb_bitdist|   8|    100000|     100|0.65287829|  PASSED
         rgb_bitdist|   9|    100000|     100|0.77464639|  PASSED
         rgb_bitdist|  10|    100000|     100|0.25683681|  PASSED
         rgb_bitdist|  11|    100000|     100|0.65849822|  PASSED
         rgb_bitdist|  12|    100000|     100|0.50805413|  PASSED
rgb_minimum_distance|   2|     10000|    1000|0.02681610|  PASSED
rgb_minimum_distance|   3|     10000|    1000|0.22801930|  PASSED
rgb_minimum_distance|   4|     10000|    1000|0.27927346|  PASSED
rgb_minimum_distance|   5|     10000|    1000|0.43079185|  PASSED
    rgb_permutations|   2|    100000|     100|0.94898090|  PASSED
    rgb_permutations|   3|    100000|     100|0.11374383|  PASSED
    rgb_permutations|   4|    100000|     100|0.72305706|  PASSED
    rgb_permutations|   5|    100000|     100|0.20417740|  PASSED
      rgb_lagged_sum|   0|   1000000|     100|0.93883915|  PASSED
      rgb_lagged_sum|   1|   1000000|     100|0.38840055|  PASSED
      rgb_lagged_sum|   2|   1000000|     100|0.62008896|  PASSED
      rgb_lagged_sum|   3|   1000000|     100|0.99204256|  PASSED
      rgb_lagged_sum|   4|   1000000|     100|0.52115721|  PASSED
      rgb_lagged_sum|   5|   1000000|     100|0.22550225|  PASSED
      rgb_lagged_sum|   6|   1000000|     100|0.40715772|  PASSED
      rgb_lagged_sum|   7|   1000000|     100|0.58505397|  PASSED
      rgb_lagged_sum|   8|   1000000|     100|0.42592254|  PASSED
      rgb_lagged_sum|   9|   1000000|     100|0.34891085|  PASSED
      rgb_lagged_sum|  10|   1000000|     100|0.67645788|  PASSED
      rgb_lagged_sum|  11|   1000000|     100|0.92966912|  PASSED
      rgb_lagged_sum|  12|   1000000|     100|0.95439791|  PASSED
      rgb_lagged_sum|  13|   1000000|     100|0.39471972|  PASSED
      rgb_lagged_sum|  14|   1000000|     100|0.72890013|  PASSED
      rgb_lagged_sum|  15|   1000000|     100|0.22923887|  PASSED
      rgb_lagged_sum|  16|   1000000|     100|0.09437301|  PASSED
      rgb_lagged_sum|  17|   1000000|     100|0.03021647|  PASSED
      rgb_lagged_sum|  18|   1000000|     100|0.06593268|  PASSED
      rgb_lagged_sum|  19|   1000000|     100|0.73484274|  PASSED
      rgb_lagged_sum|  20|   1000000|     100|0.97718590|  PASSED
      rgb_lagged_sum|  21|   1000000|     100|0.83580287|  PASSED
      rgb_lagged_sum|  22|   1000000|     100|0.68984098|  PASSED
      rgb_lagged_sum|  23|   1000000|     100|0.34944142|  PASSED
      rgb_lagged_sum|  24|   1000000|     100|0.76720893|  PASSED
      rgb_lagged_sum|  25|   1000000|     100|0.99808427|   WEAK
      rgb_lagged_sum|  26|   1000000|     100|0.20922699|  PASSED
      rgb_lagged_sum|  27|   1000000|     100|0.18887164|  PASSED
      rgb_lagged_sum|  28|   1000000|     100|0.45387763|  PASSED
      rgb_lagged_sum|  29|   1000000|     100|0.31425341|  PASSED
      rgb_lagged_sum|  30|   1000000|     100|0.72639892|  PASSED
      rgb_lagged_sum|  31|   1000000|     100|0.69995471|  PASSED
      rgb_lagged_sum|  32|   1000000|     100|0.84789350|  PASSED
     rgb_kstest_test|   0|     10000|    1000|0.62218468|  PASSED
     dab_bytedistrib|   0|  51200000|       1|0.37714207|  PASSED
             dab_dct| 256|     50000|       1|0.81750713|  PASSED
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.30697178|  PASSED
        dab_filltree|  32|  15000000|       1|0.70930339|  PASSED
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.87225976|  PASSED
       dab_filltree2|   1|   5000000|       1|0.78581557|  PASSED
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.00837857|  PASSED

Selbst auf meinen alten Mac Minis mit "PowerMac10,1 MacRISC3 Power Macintosh", die bei mir Zuhause in einem Testcluster laufen, läuft haveged und liefert auch dort gute Ergebnisse:

#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  3.14e+06  |4220874249|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.57621219|  PASSED
      diehard_operm5|   0|   1000000|     100|0.32030487|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.50211874|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.33856755|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.23514061|  PASSED
        diehard_opso|   0|   2097152|     100|0.99635255|   WEAK
        diehard_oqso|   0|   2097152|     100|0.07666882|  PASSED
         diehard_dna|   0|   2097152|     100|0.28750274|  PASSED
diehard_count_1s_str|   0|    256000|     100|0.31583844|  PASSED
diehard_count_1s_byt|   0|    256000|     100|0.53449657|  PASSED
 diehard_parking_lot|   0|     12000|     100|0.79252967|  PASSED
    diehard_2dsphere|   2|      8000|     100|0.67882318|  PASSED
    diehard_3dsphere|   3|      4000|     100|0.31379788|  PASSED
     diehard_squeeze|   0|    100000|     100|0.28002382|  PASSED
        diehard_sums|   0|       100|     100|0.18598691|  PASSED
        diehard_runs|   0|    100000|     100|0.98976058|  PASSED
        diehard_runs|   0|    100000|     100|0.94358199|  PASSED
       diehard_craps|   0|    200000|     100|0.78532168|  PASSED
       diehard_craps|   0|    200000|     100|0.71640173|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.93759598|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.88657019|  PASSED
         sts_monobit|   1|    100000|     100|0.36848114|  PASSED
            sts_runs|   2|    100000|     100|0.55771580|  PASSED
          sts_serial|   1|    100000|     100|0.96608134|  PASSED
          sts_serial|   2|    100000|     100|0.84005443|  PASSED
          sts_serial|   3|    100000|     100|0.81443597|  PASSED
          sts_serial|   3|    100000|     100|0.10575160|  PASSED
          sts_serial|   4|    100000|     100|0.32914026|  PASSED
          sts_serial|   4|    100000|     100|0.21924627|  PASSED
          sts_serial|   5|    100000|     100|0.22875732|  PASSED
          sts_serial|   5|    100000|     100|0.78557652|  PASSED
          sts_serial|   6|    100000|     100|0.21487008|  PASSED
          sts_serial|   6|    100000|     100|0.14747939|  PASSED
          sts_serial|   7|    100000|     100|0.16517074|  PASSED
          sts_serial|   7|    100000|     100|0.84180240|  PASSED
          sts_serial|   8|    100000|     100|0.36482950|  PASSED
          sts_serial|   8|    100000|     100|0.27419346|  PASSED
          sts_serial|   9|    100000|     100|0.12233420|  PASSED
          sts_serial|   9|    100000|     100|0.16885151|  PASSED
          sts_serial|  10|    100000|     100|0.03902614|  PASSED
          sts_serial|  10|    100000|     100|0.18952175|  PASSED
          sts_serial|  11|    100000|     100|0.94410153|  PASSED
          sts_serial|  11|    100000|     100|0.59201848|  PASSED
          sts_serial|  12|    100000|     100|0.33965647|  PASSED
          sts_serial|  12|    100000|     100|0.52757585|  PASSED
          sts_serial|  13|    100000|     100|0.34009610|  PASSED
          sts_serial|  13|    100000|     100|0.99834388|   WEAK
          sts_serial|  14|    100000|     100|0.96198264|  PASSED
          sts_serial|  14|    100000|     100|0.39290279|  PASSED
          sts_serial|  15|    100000|     100|0.97548718|  PASSED
          sts_serial|  15|    100000|     100|0.93903378|  PASSED
          sts_serial|  16|    100000|     100|0.98534676|  PASSED
          sts_serial|  16|    100000|     100|0.39565376|  PASSED
         rgb_bitdist|   1|    100000|     100|0.20773717|  PASSED
         rgb_bitdist|   2|    100000|     100|0.85032130|  PASSED
         rgb_bitdist|   3|    100000|     100|0.50838307|  PASSED
         rgb_bitdist|   4|    100000|     100|0.57233304|  PASSED
         rgb_bitdist|   5|    100000|     100|0.91002860|  PASSED
         rgb_bitdist|   6|    100000|     100|0.78087088|  PASSED
         rgb_bitdist|   7|    100000|     100|0.40799300|  PASSED
         rgb_bitdist|   8|    100000|     100|0.00745902|  PASSED
         rgb_bitdist|   9|    100000|     100|0.30916578|  PASSED
         rgb_bitdist|  10|    100000|     100|0.57590644|  PASSED
         rgb_bitdist|  11|    100000|     100|0.80634610|  PASSED
         rgb_bitdist|  12|    100000|     100|0.54261773|  PASSED
rgb_minimum_distance|   2|     10000|    1000|0.59111346|  PASSED
rgb_minimum_distance|   3|     10000|    1000|0.46887953|  PASSED
rgb_minimum_distance|   4|     10000|    1000|0.94865190|  PASSED
rgb_minimum_distance|   5|     10000|    1000|0.28414726|  PASSED
    rgb_permutations|   2|    100000|     100|0.75820306|  PASSED
    rgb_permutations|   3|    100000|     100|0.90669743|  PASSED
    rgb_permutations|   4|    100000|     100|0.47793456|  PASSED
    rgb_permutations|   5|    100000|     100|0.69969764|  PASSED
      rgb_lagged_sum|   0|   1000000|     100|0.26143346|  PASSED
      rgb_lagged_sum|   1|   1000000|     100|0.89175049|  PASSED
      rgb_lagged_sum|   2|   1000000|     100|0.96527229|  PASSED
      rgb_lagged_sum|   3|   1000000|     100|0.99757952|   WEAK
      rgb_lagged_sum|   4|   1000000|     100|0.47083477|  PASSED
      rgb_lagged_sum|   5|   1000000|     100|0.93046056|  PASSED
      rgb_lagged_sum|   6|   1000000|     100|0.09962939|  PASSED
      rgb_lagged_sum|   7|   1000000|     100|0.07011501|  PASSED
      rgb_lagged_sum|   8|   1000000|     100|0.23763444|  PASSED
      rgb_lagged_sum|   9|   1000000|     100|0.09943310|  PASSED
      rgb_lagged_sum|  10|   1000000|     100|0.79942404|  PASSED
      rgb_lagged_sum|  11|   1000000|     100|0.02056793|  PASSED
      rgb_lagged_sum|  12|   1000000|     100|0.56717544|  PASSED
      rgb_lagged_sum|  13|   1000000|     100|0.20265247|  PASSED
      rgb_lagged_sum|  14|   1000000|     100|0.90095804|  PASSED
      rgb_lagged_sum|  15|   1000000|     100|0.51364566|  PASSED
      rgb_lagged_sum|  16|   1000000|     100|0.36926201|  PASSED
      rgb_lagged_sum|  17|   1000000|     100|0.46713667|  PASSED
      rgb_lagged_sum|  18|   1000000|     100|0.94256711|  PASSED
      rgb_lagged_sum|  19|   1000000|     100|0.94338929|  PASSED
      rgb_lagged_sum|  20|   1000000|     100|0.92997203|  PASSED
      rgb_lagged_sum|  21|   1000000|     100|0.36046015|  PASSED
      rgb_lagged_sum|  22|   1000000|     100|0.83868968|  PASSED
      rgb_lagged_sum|  23|   1000000|     100|0.52879240|  PASSED
      rgb_lagged_sum|  24|   1000000|     100|0.61314936|  PASSED
      rgb_lagged_sum|  25|   1000000|     100|0.37027362|  PASSED
      rgb_lagged_sum|  26|   1000000|     100|0.81581312|  PASSED
      rgb_lagged_sum|  27|   1000000|     100|0.66953730|  PASSED
      rgb_lagged_sum|  28|   1000000|     100|0.28398670|  PASSED
      rgb_lagged_sum|  29|   1000000|     100|0.95750904|  PASSED
      rgb_lagged_sum|  30|   1000000|     100|0.94730710|  PASSED
      rgb_lagged_sum|  31|   1000000|     100|0.38254527|  PASSED
      rgb_lagged_sum|  32|   1000000|     100|0.88603434|  PASSED
     rgb_kstest_test|   0|     10000|    1000|0.41777521|  PASSED
     dab_bytedistrib|   0|  51200000|       1|0.51678719|  PASSED
             dab_dct| 256|     50000|       1|0.48530283|  PASSED
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.09009306|  PASSED
        dab_filltree|  32|  15000000|       1|0.42145861|  PASSED
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.92140518|  PASSED
       dab_filltree2|   1|   5000000|       1|0.30032656|  PASSED
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.80367392|  PASSED

Gespannt war ich auf die Ergebnisse meiner vServer, da diese bei PolarSSL mbed SSL ja der Ursprung des Problems waren. Ich verwende einerseits ein System mit einem KVM-virtualisierten "Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz". Dessen Ergebnisse sehen gut aus:

#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  3.91e+07  |2403861751|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.39303888|  PASSED
      diehard_operm5|   0|   1000000|     100|0.74496497|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.13162974|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.72631428|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.86273136|  PASSED
        diehard_opso|   0|   2097152|     100|0.56491165|  PASSED
        diehard_oqso|   0|   2097152|     100|0.72849597|  PASSED
         diehard_dna|   0|   2097152|     100|0.99485750|  PASSED
diehard_count_1s_str|   0|    256000|     100|0.43930506|  PASSED
diehard_count_1s_byt|   0|    256000|     100|0.50458767|  PASSED
 diehard_parking_lot|   0|     12000|     100|0.99584501|   WEAK
    diehard_2dsphere|   2|      8000|     100|0.26711806|  PASSED
    diehard_3dsphere|   3|      4000|     100|0.29934754|  PASSED
     diehard_squeeze|   0|    100000|     100|0.80469876|  PASSED
        diehard_sums|   0|       100|     100|0.87202688|  PASSED
        diehard_runs|   0|    100000|     100|0.48564911|  PASSED
        diehard_runs|   0|    100000|     100|0.72922679|  PASSED
       diehard_craps|   0|    200000|     100|0.33032863|  PASSED
       diehard_craps|   0|    200000|     100|0.83274474|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.29574332|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.05451073|  PASSED
         sts_monobit|   1|    100000|     100|0.77549456|  PASSED
            sts_runs|   2|    100000|     100|0.04823761|  PASSED
          sts_serial|   1|    100000|     100|0.64803972|  PASSED
          sts_serial|   2|    100000|     100|0.82585541|  PASSED
          sts_serial|   3|    100000|     100|0.30137477|  PASSED
          sts_serial|   3|    100000|     100|0.87316871|  PASSED
          sts_serial|   4|    100000|     100|0.62677898|  PASSED
          sts_serial|   4|    100000|     100|0.59645336|  PASSED
          sts_serial|   5|    100000|     100|0.35557699|  PASSED
          sts_serial|   5|    100000|     100|0.11323982|  PASSED
          sts_serial|   6|    100000|     100|0.21809822|  PASSED
          sts_serial|   6|    100000|     100|0.19746310|  PASSED
          sts_serial|   7|    100000|     100|0.97678137|  PASSED
          sts_serial|   7|    100000|     100|0.96862353|  PASSED
          sts_serial|   8|    100000|     100|0.27733624|  PASSED
          sts_serial|   8|    100000|     100|0.47827497|  PASSED
          sts_serial|   9|    100000|     100|0.26196595|  PASSED
          sts_serial|   9|    100000|     100|0.20901634|  PASSED
          sts_serial|  10|    100000|     100|0.69320465|  PASSED
          sts_serial|  10|    100000|     100|0.50087708|  PASSED
          sts_serial|  11|    100000|     100|0.87279703|  PASSED
          sts_serial|  11|    100000|     100|0.43184814|  PASSED
          sts_serial|  12|    100000|     100|0.74743591|  PASSED
          sts_serial|  12|    100000|     100|0.92912813|  PASSED
          sts_serial|  13|    100000|     100|0.76446984|  PASSED
          sts_serial|  13|    100000|     100|0.41474394|  PASSED
          sts_serial|  14|    100000|     100|0.43600274|  PASSED
          sts_serial|  14|    100000|     100|0.34892825|  PASSED
          sts_serial|  15|    100000|     100|0.39514554|  PASSED
          sts_serial|  15|    100000|     100|0.91420886|  PASSED
          sts_serial|  16|    100000|     100|0.12891027|  PASSED
          sts_serial|  16|    100000|     100|0.25502730|  PASSED
         rgb_bitdist|   1|    100000|     100|0.47587315|  PASSED
         rgb_bitdist|   2|    100000|     100|0.88458605|  PASSED
         rgb_bitdist|   3|    100000|     100|0.93845118|  PASSED
         rgb_bitdist|   4|    100000|     100|0.47849575|  PASSED
         rgb_bitdist|   5|    100000|     100|0.94374456|  PASSED
         rgb_bitdist|   6|    100000|     100|0.86572499|  PASSED
         rgb_bitdist|   7|    100000|     100|0.36333630|  PASSED
         rgb_bitdist|   8|    100000|     100|0.86103915|  PASSED
         rgb_bitdist|   9|    100000|     100|0.85522176|  PASSED
         rgb_bitdist|  10|    100000|     100|0.80240762|  PASSED
         rgb_bitdist|  11|    100000|     100|0.26687750|  PASSED
         rgb_bitdist|  12|    100000|     100|0.16549648|  PASSED
rgb_minimum_distance|   2|     10000|    1000|0.14846931|  PASSED
rgb_minimum_distance|   3|     10000|    1000|0.19988545|  PASSED
rgb_minimum_distance|   4|     10000|    1000|0.80019487|  PASSED
rgb_minimum_distance|   5|     10000|    1000|0.95158568|  PASSED
    rgb_permutations|   2|    100000|     100|0.78900739|  PASSED
    rgb_permutations|   3|    100000|     100|0.92360523|  PASSED
    rgb_permutations|   4|    100000|     100|0.06140726|  PASSED
    rgb_permutations|   5|    100000|     100|0.70150773|  PASSED
      rgb_lagged_sum|   0|   1000000|     100|0.23235455|  PASSED
      rgb_lagged_sum|   1|   1000000|     100|0.52120656|  PASSED
      rgb_lagged_sum|   2|   1000000|     100|0.22766934|  PASSED
      rgb_lagged_sum|   3|   1000000|     100|0.35038622|  PASSED
      rgb_lagged_sum|   4|   1000000|     100|0.26125845|  PASSED
      rgb_lagged_sum|   5|   1000000|     100|0.90298763|  PASSED
      rgb_lagged_sum|   6|   1000000|     100|0.61490761|  PASSED
      rgb_lagged_sum|   7|   1000000|     100|0.60879059|  PASSED
      rgb_lagged_sum|   8|   1000000|     100|0.95659464|  PASSED
      rgb_lagged_sum|   9|   1000000|     100|0.74259826|  PASSED
      rgb_lagged_sum|  10|   1000000|     100|0.16243170|  PASSED
      rgb_lagged_sum|  11|   1000000|     100|0.23525439|  PASSED
      rgb_lagged_sum|  12|   1000000|     100|0.06598475|  PASSED
      rgb_lagged_sum|  13|   1000000|     100|0.37754865|  PASSED
      rgb_lagged_sum|  14|   1000000|     100|0.83798493|  PASSED
      rgb_lagged_sum|  15|   1000000|     100|0.68802937|  PASSED
      rgb_lagged_sum|  16|   1000000|     100|0.75693641|  PASSED
      rgb_lagged_sum|  17|   1000000|     100|0.38717555|  PASSED
      rgb_lagged_sum|  18|   1000000|     100|0.98063976|  PASSED
      rgb_lagged_sum|  19|   1000000|     100|0.63458041|  PASSED
      rgb_lagged_sum|  20|   1000000|     100|0.50550447|  PASSED
      rgb_lagged_sum|  21|   1000000|     100|0.58518588|  PASSED
      rgb_lagged_sum|  22|   1000000|     100|0.67293855|  PASSED
      rgb_lagged_sum|  23|   1000000|     100|0.36934247|  PASSED
      rgb_lagged_sum|  24|   1000000|     100|0.24675910|  PASSED
      rgb_lagged_sum|  25|   1000000|     100|0.83818181|  PASSED
      rgb_lagged_sum|  26|   1000000|     100|0.07111015|  PASSED
      rgb_lagged_sum|  27|   1000000|     100|0.50390287|  PASSED
      rgb_lagged_sum|  28|   1000000|     100|0.07887294|  PASSED
      rgb_lagged_sum|  29|   1000000|     100|0.75449287|  PASSED
      rgb_lagged_sum|  30|   1000000|     100|0.99969858|   WEAK
      rgb_lagged_sum|  31|   1000000|     100|0.62793868|  PASSED
      rgb_lagged_sum|  32|   1000000|     100|0.44864440|  PASSED
     rgb_kstest_test|   0|     10000|    1000|0.25821702|  PASSED
     dab_bytedistrib|   0|  51200000|       1|0.65332597|  PASSED
             dab_dct| 256|     50000|       1|0.51773051|  PASSED
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.99425590|  PASSED
        dab_filltree|  32|  15000000|       1|0.62049359|  PASSED
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.74836623|  PASSED
       dab_filltree2|   1|   5000000|       1|0.83701400|  PASSED
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.80371447|  PASSED

Und auch beim zweiten System mit einem KVM-virtualisierten "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz" gibt es laut dieharder keine Beanstandungen:

#=============================================================================#
#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
#=============================================================================#
   rng_name    |rands/second|   Seed   |
stdin_input_raw|  1.88e+07  |3966886010|
#=============================================================================#
        test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=============================================================================#
   diehard_birthdays|   0|       100|     100|0.86802201|  PASSED
      diehard_operm5|   0|   1000000|     100|0.93857016|  PASSED
  diehard_rank_32x32|   0|     40000|     100|0.21554659|  PASSED
    diehard_rank_6x8|   0|    100000|     100|0.02393864|  PASSED
   diehard_bitstream|   0|   2097152|     100|0.72146650|  PASSED
        diehard_opso|   0|   2097152|     100|0.75580499|  PASSED
        diehard_oqso|   0|   2097152|     100|0.12630607|  PASSED
         diehard_dna|   0|   2097152|     100|0.08318236|  PASSED
diehard_count_1s_str|   0|    256000|     100|0.83369544|  PASSED
diehard_count_1s_byt|   0|    256000|     100|0.98448502|  PASSED
 diehard_parking_lot|   0|     12000|     100|0.74074906|  PASSED
    diehard_2dsphere|   2|      8000|     100|0.27217962|  PASSED
    diehard_3dsphere|   3|      4000|     100|0.93449392|  PASSED
     diehard_squeeze|   0|    100000|     100|0.79591941|  PASSED
        diehard_sums|   0|       100|     100|0.08260342|  PASSED
        diehard_runs|   0|    100000|     100|0.55360622|  PASSED
        diehard_runs|   0|    100000|     100|0.10557804|  PASSED
       diehard_craps|   0|    200000|     100|0.77589877|  PASSED
       diehard_craps|   0|    200000|     100|0.85530453|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.98866347|  PASSED
 marsaglia_tsang_gcd|   0|  10000000|     100|0.68766275|  PASSED
         sts_monobit|   1|    100000|     100|0.61721117|  PASSED
            sts_runs|   2|    100000|     100|0.93200830|  PASSED
          sts_serial|   1|    100000|     100|0.74699081|  PASSED
          sts_serial|   2|    100000|     100|0.00364348|   WEAK
          sts_serial|   3|    100000|     100|0.09215616|  PASSED
          sts_serial|   3|    100000|     100|0.78527182|  PASSED
          sts_serial|   4|    100000|     100|0.12680579|  PASSED
          sts_serial|   4|    100000|     100|0.61424014|  PASSED
          sts_serial|   5|    100000|     100|0.16770237|  PASSED
          sts_serial|   5|    100000|     100|0.42085097|  PASSED
          sts_serial|   6|    100000|     100|0.75700309|  PASSED
          sts_serial|   6|    100000|     100|0.63826119|  PASSED
          sts_serial|   7|    100000|     100|0.59100282|  PASSED
          sts_serial|   7|    100000|     100|0.78513054|  PASSED
          sts_serial|   8|    100000|     100|0.69352480|  PASSED
          sts_serial|   8|    100000|     100|0.49332202|  PASSED
          sts_serial|   9|    100000|     100|0.68905397|  PASSED
          sts_serial|   9|    100000|     100|0.61441861|  PASSED
          sts_serial|  10|    100000|     100|0.85033554|  PASSED
          sts_serial|  10|    100000|     100|0.82637215|  PASSED
          sts_serial|  11|    100000|     100|0.87559146|  PASSED
          sts_serial|  11|    100000|     100|0.81872729|  PASSED
          sts_serial|  12|    100000|     100|0.24838052|  PASSED
          sts_serial|  12|    100000|     100|0.99588877|   WEAK
          sts_serial|  13|    100000|     100|0.93714484|  PASSED
          sts_serial|  13|    100000|     100|0.76441555|  PASSED
          sts_serial|  14|    100000|     100|0.88325579|  PASSED
          sts_serial|  14|    100000|     100|0.78308466|  PASSED
          sts_serial|  15|    100000|     100|0.70135646|  PASSED
          sts_serial|  15|    100000|     100|0.92951300|  PASSED
          sts_serial|  16|    100000|     100|0.33861480|  PASSED
          sts_serial|  16|    100000|     100|0.51384470|  PASSED
         rgb_bitdist|   1|    100000|     100|0.64691596|  PASSED
         rgb_bitdist|   2|    100000|     100|0.36340761|  PASSED
         rgb_bitdist|   3|    100000|     100|0.13662446|  PASSED
         rgb_bitdist|   4|    100000|     100|0.90561258|  PASSED
         rgb_bitdist|   5|    100000|     100|0.09774341|  PASSED
         rgb_bitdist|   6|    100000|     100|0.59992552|  PASSED
         rgb_bitdist|   7|    100000|     100|0.12886912|  PASSED
         rgb_bitdist|   8|    100000|     100|0.93601521|  PASSED
         rgb_bitdist|   9|    100000|     100|0.52751789|  PASSED
         rgb_bitdist|  10|    100000|     100|0.31254677|  PASSED
         rgb_bitdist|  11|    100000|     100|0.82136358|  PASSED
         rgb_bitdist|  12|    100000|     100|0.92595382|  PASSED
rgb_minimum_distance|   2|     10000|    1000|0.79518024|  PASSED
rgb_minimum_distance|   3|     10000|    1000|0.51397031|  PASSED
rgb_minimum_distance|   4|     10000|    1000|0.47960772|  PASSED
rgb_minimum_distance|   5|     10000|    1000|0.85165830|  PASSED
    rgb_permutations|   2|    100000|     100|0.50745829|  PASSED
    rgb_permutations|   3|    100000|     100|0.03006811|  PASSED
    rgb_permutations|   4|    100000|     100|0.59388689|  PASSED
    rgb_permutations|   5|    100000|     100|0.23065839|  PASSED
      rgb_lagged_sum|   0|   1000000|     100|0.67210966|  PASSED
      rgb_lagged_sum|   1|   1000000|     100|0.33918884|  PASSED
      rgb_lagged_sum|   2|   1000000|     100|0.75190558|  PASSED
      rgb_lagged_sum|   3|   1000000|     100|0.74416904|  PASSED
      rgb_lagged_sum|   4|   1000000|     100|0.70682671|  PASSED
      rgb_lagged_sum|   5|   1000000|     100|0.49242189|  PASSED
      rgb_lagged_sum|   6|   1000000|     100|0.84792761|  PASSED
      rgb_lagged_sum|   7|   1000000|     100|0.89892157|  PASSED
      rgb_lagged_sum|   8|   1000000|     100|0.38757664|  PASSED
      rgb_lagged_sum|   9|   1000000|     100|0.87685081|  PASSED
      rgb_lagged_sum|  10|   1000000|     100|0.87448998|  PASSED
      rgb_lagged_sum|  11|   1000000|     100|0.94552468|  PASSED
      rgb_lagged_sum|  12|   1000000|     100|0.69899097|  PASSED
      rgb_lagged_sum|  13|   1000000|     100|0.61052074|  PASSED
      rgb_lagged_sum|  14|   1000000|     100|0.40428246|  PASSED
      rgb_lagged_sum|  15|   1000000|     100|0.41357249|  PASSED
      rgb_lagged_sum|  16|   1000000|     100|0.50608073|  PASSED
      rgb_lagged_sum|  17|   1000000|     100|0.73579529|  PASSED
      rgb_lagged_sum|  18|   1000000|     100|0.88116866|  PASSED
      rgb_lagged_sum|  19|   1000000|     100|0.01969011|  PASSED
      rgb_lagged_sum|  20|   1000000|     100|0.93329549|  PASSED
      rgb_lagged_sum|  21|   1000000|     100|0.06482253|  PASSED
      rgb_lagged_sum|  22|   1000000|     100|0.67360224|  PASSED
      rgb_lagged_sum|  23|   1000000|     100|0.11912063|  PASSED
      rgb_lagged_sum|  24|   1000000|     100|0.62730850|  PASSED
      rgb_lagged_sum|  25|   1000000|     100|0.92150416|  PASSED
      rgb_lagged_sum|  26|   1000000|     100|0.88313859|  PASSED
      rgb_lagged_sum|  27|   1000000|     100|0.17009240|  PASSED
      rgb_lagged_sum|  28|   1000000|     100|0.52599929|  PASSED
      rgb_lagged_sum|  29|   1000000|     100|0.99966442|   WEAK
      rgb_lagged_sum|  30|   1000000|     100|0.66724337|  PASSED
      rgb_lagged_sum|  31|   1000000|     100|0.29408784|  PASSED
      rgb_lagged_sum|  32|   1000000|     100|0.67994300|  PASSED
     rgb_kstest_test|   0|     10000|    1000|0.09623650|  PASSED
     dab_bytedistrib|   0|  51200000|       1|0.97246947|  PASSED
             dab_dct| 256|     50000|       1|0.22118329|  PASSED
Preparing to run test 207.  ntuple = 0
        dab_filltree|  32|  15000000|       1|0.89757812|  PASSED
        dab_filltree|  32|  15000000|       1|0.36526583|  PASSED
Preparing to run test 208.  ntuple = 0
       dab_filltree2|   0|   5000000|       1|0.89963029|  PASSED
       dab_filltree2|   1|   5000000|       1|0.67162245|  PASSED
Preparing to run test 209.  ntuple = 0
        dab_monobit2|  12|  65000000|       1|0.21033599|  PASSED

Warum also auf diese zusätzliche Entropiequelle verzichten? Diese wird sowieso nicht direkt genutzt, sondern nach "/dev/random" eingeleitet, mit dessen restlichen Entropiequellen gemischt, durch einen CSPRNG (Cryptographically Secure PseudoRandom Number Generator) geleitet und erst dieser Output wird verwendet. Bis ein Problem mit dem eigentlichen Verfahren von haveged gefunden wird, werde ich dieses jedenfalls nun auf meinen Systemen einsetzen.

P.S.: Dass der Entropiepool leerläuft, kann man über folgenden Befehl beobachten:

cat /proc/sys/kernel/random/entropy_avail

Search

Links

RSS feed

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)