Würfel onlineOnline-Würfelgenerator

Prinzip der Zufallsgenerierung mit einem Computer und unter Linux.

Das Prinzip der zufälligen Erzeugung eines Werts oder eines Würfels durch einen Computer:

Am einfachsten erzeugt man Zufallszahlen mit einem Pseudozufallszahlengenerator.
Ein solcher Generator erzeugt Zahlen durch Rekursion, wobei die erste Zahl ein Startwert ist (auf Englisch „seed“). Dieser Startwert muss mit einer beliebigen Zahl initialisiert werden; er ist die erste Zufallszahl der Reihe. Um die nächste zu erhalten, multipliziert man die letzte mit einer Konstanten a, addiert dann eine Konstante c zum Ergebnis und nimmt den Rest der euklidischen Division durch eine Konstante m.

Sind die Konstanten a, c und m gut gewählt, sind die so erzeugten Zahlen pseudozufällig. Man kann den Startwert mit der aktuellen Zeit in Sekunden initialisieren, was unterschiedliche Ausgaben liefert, solange man das Programm nicht zweimal in derselben Sekunde startet; oder man wählt einen festen Startwert, wenn man die Ergebnisse reproduzieren möchte.
Diese Art von Generator ist keineswegs sicher, denn wer die Folge der erzeugten Zufallszahlen kennt, kann die nächste durchaus vorhersagen.

Aber warum sollte man „sichere“ Zufallszahlen erzeugen? Sie werden zum Beispiel verwendet, um Schlüssel für die verschlüsselte Kommunikation mit Servern zu erzeugen; daher kann es nützlich sein, einen Schlüssel zu erzeugen, den ein Angreifer nicht vorhersagen kann. Aus diesem Grund gibt es Pseudozufallszahlengeneratoren, die für kryptografische Anwendungen abgesichert sind.

Um eine Zufallszahl zu erzeugen, ist es oft besser, Entropiequellen zu nutzen. Die Shannon-Entropie ist ein Maß für die Informationsmenge in einem Signal. Sie kann zum Beispiel aus dem Netzwerkverkehr, aus Mausbewegungen, aus der CPU-Auslastung oder aus einem Geräuschsensor stammen.

Unter Linux dienen die Dateien /dev/random und /dev/urandom dazu, Zufallszahlen auf Basis der im System gesammelten Entropie zu erzeugen. Die erste blockiert das Lesen, bis genügend Entropie im System erzeugt wurde. Das Lesen der zweiten wird dagegen nie blockiert, dafür kann die Qualität der so erzeugten Zahlen geringer sein.

Wenn du mehr erfahren möchtest, sieh dir auch einen Passwortgenerator in der Informatik an.