Zufallszalen berechnen?

Zufallszalen berechnen?

Zufallszahlen berechnen

Alleine dieser Absatz zeigt, dass es für den Computer schwierig ist an richtig gute Zufallszahlen zu kommen.

Wo werden Zufallszahlen gebraucht?

In der Verschlüsselung braucht man Zufallszahlen, die nicht vorhersagbar sind. Werden Zufallszahlen berechnet, könnte man aufgrund der Berechnung vorhersagen, welche Zahl als nächstes kommt. Ein Schwachpunkt in der Verschlüsselung.

Kann man Sie berechnen?

Anfangs wurde ein Zufallszahlengenerator mit einer beliebigen Zahl (fixe als Schüssel, oder einfach die aktuelle Uhrzeit für bessere Zufälle) gefüttert. Mit dieser Zahl fütterte er einen Bereich, aus dem er sich dann jedes mal eine neue Zahl herausholte.
Je nach Algorithmus waren die Zahlen besser oder schlechter.
Schlechte Zahlen konnte man daran erkennen, dass man einfach mal 100.000 Zahlen von 0-100 erzeugte und zählte, wie oft jede Zahl vorkam. Eigentlich sollten sie alle +/- gleich sein. Waren sie aber oft nicht.

Entropie

Linux zeigt von Natur aus sehr offen, wie seine Zufallszahlen generiert werden.

Die Entropie ist ein Pool von zufälligen Werten aus denen die Zufallszahl berechnet wird. Je größer dieser Pool, desto zufälliger die Zahl. Mit jeder berechneten Zahl schrumpft die Entropie.
Sollte die Entropie leer sein, werden folgende Zahlen einfach berechnet. Dieser Zustand ist auf jeden Fall zu vermeiden.

Wie fülle ich die Entropie? Woher bekommt der Computer Zufallsdaten?

  • Wie lange dauert ein Tastendruck?
  • Welche Taste wird gedrückt
  • Wie schnell bewegt sich die Maus, wohin?

Diese Werte sind nicht vorhersagbar und dienen als Zufallszahlenquelle. Aber es gibt noch andere Quellen:

  • Manchmal brauchen bestimmte Operationen in der CPU unterschiedlich lang.
  • Zugriffszeit der Festplatte
  • Netzwerkpakete
  • Rauschen am LineIn oder Mikrofoneingang
  • Echte Zufallszahlengeneratoren (Über den radioaktiven Zerfall)
  • Temperatur
  • ....

Diese und weitere Quellen können Dienste wie haveged oder rng-tools anzapfen um die Entropie zu füllen. Sehr wichtig bei Servern, die einsam und allein in Rechenzentren stehen und nie nach draußen dürfen >schnüff< .

 

Posted on