Auf Linux-Systemen kann man nach der verfügbaren Entropie suchen (nützlich, um zu wissen, ob Sie /dev/random
für PRNG-Zwecke tippen )
cat /proc/sys/kernel/random/entropy_avail
Es gibt jedoch kein Äquivalent /proc
zu einem Mac (AFAIK). Wie kann ich auf einem Mac nach der verfügbaren Systementropie suchen? Ich verwende OS X 10.7.3 (Lion)
Aktualisierung mit einigen meiner Kommentare unter Kyles Antwort - Einer der Gründe dafür, dass Macs diese Informationen nicht anzeigen, ist, dass sie (in den meisten Fällen) nicht benötigt werden. Linux-Systeme blockieren Aufrufe von, /dev/random
wenn nicht genügend Entropie im Pool vorhanden ist. Auf Macs wird der Entropiepool regelmäßig mithilfe des SecurityServer
Daemons erweitert.
Es wird jedoch auch darauf hingewiesen, dass die Ausgabequalität sinkt, wenn der Dämon aus irgendeinem Grund ausfällt, ohne dass Anzeichen für einen Fehler vorliegen :
Die Qualität seiner Ausgabe hängt jedoch von der regelmäßigen Zugabe geeigneter Entropie ab. Wenn der
SecurityServer
System-Daemon aus irgendeinem Grund ausfällt, leidet die Ausgabequalität mit der Zeit, ohne dass das zufällige Gerät dies ausdrücklich anzeigt.
Auch wenn die Menge an Entropie nicht einfach verfügbar gemacht werden kann, bedeutet dies nicht, dass sie nicht vorhanden ist, und es kann Fälle geben, in denen ihr Wissen hilfreich sein kann.
random
direkt vor dem Abrufen einsetzten wichtige Zufallszahlen. "Antworten:
Dies ist keine Lösung, sondern eine Erläuterung, wie Entropie unter Linux gesammelt und verwendet wird.
Linux hat eigentlich zwei verschiedene Entropie-Pools:
/dev/random
und/dev/urandom
.Ersteres ist ein echter Zufallspool, der von Systementropiequellen gespeist wird.
Letzteres ist eher ein PRNG, wie es bei BSDs und OS X der Fall ist.
Sogar Urandom erfordert jedoch einen Keim von "echter" Zufallsentropie, um qualitativ hochwertige pseudozufällige Daten zu erzeugen. In neueren Kernels wird ein vollständiger Mangel an Entropie in / dev / random das Urandom immer noch nicht blockieren, aber das Urandom wird den letzten gültigen Startwert wiederverwenden, bis mehr Entropie verfügbar wird. Da urandom nicht blockiert, wird es von den meisten Diensten, die einen stetigen Entropiestrom erfordern, verwendet, anstatt sich auf / dev / random zu verlassen.
Es gibt jedoch noch einige Dienste, wie z. B. verschiedene SSL-Suiten, die nicht mit pseudozufälliger Entropie auskommen, sondern eine wirklich unvorhersehbare Entropiequelle benötigen. In diesem Fall kann urandom (oder ein anderes PRNG) nicht verwendet werden, und / dev / random kommt ins Spiel.
quelle
Mac OS X verwendet einfach Yarrow . Sogar FreeBSD ging weiter und wechselte zu seiner verbesserten Version namens "Fortuna".
Alles in allem ist dies eine weitere Erinnerung daran, dass die Prioritäten von Apple nicht Sicherheit / Robustheit oder ähnliches beinhalten.
quelle
Mac OS X ist wie FreeBSD nicht auf externe Entropiequellen angewiesen. Stattdessen wird ein Pseudozufallszahlengenerator verwendet, der auf dem Yarrow-Algorithmus basiert . Da ein Algorithmus und kein Entropiepool verwendet wird, muss nicht sichergestellt werden, dass "genug" Entropie vorhanden ist - Sie können immer aus / dev / random lesen, ohne zu blockieren .
Um Ihre Frage zu beantworten, es sei denn, Sie sind "paranoid" und müssen Ihre Entropie auf externen Quellen (Tastenanschläge / Mausbewegungen / usw.) basieren. In diesem Fall müssen Sie die Menge der verfügbaren Entropie für / dev / selbst bestimmen. zufällige Verwendung ist immer unendlich.
quelle