Zufallswerte schneller erzeugen in Linux
Wer des Öfteren mit Linux innerhalb einer virtuellen Maschine (bspw. VirtualBox) arbeitet und dabei auf Programme setzt die Zufallswerte benötigen, ist wahrscheinlich schon einmal auf ein spezielles Problem gestoßen: Das Programm stellt die Arbeit ein, weil nicht genügend Zufallsdaten vorhanden sind und setzt sie erst wieder fort, wenn genügend Entropie gesammelt wurde.
Zum Sammeln von Entropie werden meistens Mausbewegungen oder Tastatureingaben herangezogen, weil diese nicht vorhersagbar sind. Weiterhin kann auch eine statistische Rauschquelle herangezogen werden.
Kurioserweise scheint dies in einer virtuellen Maschine nicht einwandfrei zu funktionieren. Das Problem kann auch bei einer Remote-Verbindung zu einem Rechner (per SSH) auftreten, weil Mausbewegungen natürlich nicht mit übertragen werden.
Unter Linux kann man dem Abhilfe schaffen, indem man ein kleines Programm mit dem Namen rngd einsetzt.
Ein Auszug aus der Manpage zu rngd:
This daemon feeds data from a random number generator to the kernel's random number entropy pool, after first checking the data to ensure that it is properly random. http://linux.die.net/man/8/rngd
rngd kann man unter Debian-basierenden Linux-Distributionen wie Ubuntu einfach über
sudo apt-get install rngdinstallieren. Anschließend sagt man dem Tool noch, dass es seine Entropiedaten aus dem Linux-eigenen Zufallsgenerator beziehen soll:
rngd -r /dev/urandomDanach kann man das Programm, welches viele Zufallsdaten benötigt einwandfrei und ohne entropiebedingte Unterbrechungen ausführen.
Konkret ist dieses Problem bei mir beim Erzeugen von OpenPGP-Schlüsseln aufgetreten. Mit rngd konnte ich das Problem jedoch beseitigen.

