Wenn es um Verschlüsselung oder Glücksspielautomaten geht, ist Zufall einer der wichtigsten Komponenten.
Aber Zufall an einem Computer ist gar nicht so einfach.
Wir müssen uns auch die Frage stellen, was ist makroskopischer Zufall überhaupt.
Wenn ich jetzt eine Münze werfe, könne man anhand des Gewichtes der Münze, wie sie abgeworfen wurde und den Eigenschaften der Münze bestimmen mit welcher Seite sie zuerst aufkommt.
Ein hübsches Physikspielzeug, welches Zufall sichtbar macht, wäre das Chaos Pendel.
Die Startposition, in der Programmierung Seed genannt, bestimmt den Zufall.
Es gibt also keinen echten Zufall in der makroskopischen Welt, in der wir leben.
Mit genügend Informationen können wir den Zufall vorhersagen.
Allerdings gibt es auch sehr schwer nachvollziehbaren echten Zufall, welcher eine Ausnahme ist und in unserer Welt nicht wirklich vorkommt und wir noch keinen Weg gefunden haben einen Zustand mit Informationen über das Objekt vorherzusagen.
Hier sind wir in der Welt der Quanten, beim Messen eines Zustands können wir noch nicht vorhersagen, welches Ergebnis wir bei der Messung erhalten.
Wir können uns nur mit Wahrscheinlichkeiten begnügen.
Der Pseudozufallsgenerator
Der Pseudozufallsgenerator ist nur dafür da, um möglichst schnell unwichtige zufällige Daten zu erzeugen.
Er hat meist den gleichen Seed oder nutzt eine nicht hochauflösende Uhrzeit.
Wenn wir also wissen, wie er berechnet wird, erhalten wir das gleiche Ergebnis und können präzise Abläufe vorhersagen.
Diese Zufallsgeneratoren wurden damals allerdings dennoch für so manchen Glücksspielautomaten genutzt.
So konnte man die Gewinnchance bestimmen, wenn man wusste, zu welchem Zeitpunkt der Automat eingesteckt wurde.
Kaspersky hat dazu einen Beitrag veröffentlicht, ich konnte den Beitrag nicht finden, vielleicht habe ich das falsch in Erinnerung, aber ich habe einen ähnlichen Beitrag von der Zeit gefunden.
So kein Zufall! von blog.zeit.de
Der Kryptografischer Zufallsgenerator
Der Kryptografischer Zufallsgenerator nutzt wiederum unsere Hardware und sehr hochauflösende Zeitstempel.
Es werden zum Beispiel die Operationen von unserer Festplatte genutzt, vielleicht sogar auch Sensoren oder die Bewegung euer Maus.
Das ist je nach verwendetem Algorithmus unterschiedlich, die im System intrigierten Algorithmen sind allerdings überwiegend Open Source.
Dieser Algorithmus kann für Kryptografie genutzt werden, daher kommt auch der Name.
Er ist nur schwer nachvollziehbar.
Es gibt aber auch mögliche Schwächen, VM Software die nicht richtig programmiert ist, könne mit ihrer virtuellen Hardware den Zufall vorhersagbar machen.
Einen sehr interessanten Beitrag dazu findet ihr auf der Seite des BSI - Zufallszahlengenerator, welcher in PDF Form zum Download gestellt.
Der Quantenzufallsgenerator
Der Quantenzufallsgenerator nutzt die Eigenschaften der Welt der Quanten, um einen zufälligen Wert zu erzeugen.
Er ist einer der sichersten Möglichkeiten, Zufall zu erzeugen.
Wie oben angesprochen ist es momentan nicht möglich einen Zustand vor der Messung vorherzusagen.
Dieser Zufallsgenerator ist sehr aufwendig und wird aus dem Grund selten genutzt.
Es benötigt dafür extra spezielle Hardware, welche hohe Anforderungen erfüllen muss.
Quellen:
Kryptografische Zufallsgeneratoren von elektronik-kompendium.de
BSI - Zufallszahlengenerator