Die Zufälligkeit von Vanitygen ist sicher genug?

Wenn zwei Personen laufen vanitygen 1abcdefgWie hoch ist die Wahrscheinlichkeit, dass beide Personen den gleichen öffentlichen Schlüssel und den gleichen privaten Schlüssel erhalten?

Ich hoffe, dass die Antwort kleiner als ist 0.0000001. Aber dafür vanigygenmuss ein Zufallsalgorithmus verwendet werden (nicht einfach while(true){ i++; test()}).

Meine Frage ist: Normalerweise muss ich beim Erstellen einer Brieftasche mit http://bitaddress.org die Maus bewegen, um zusätzliche Zufälligkeit hinzuzufügen , aber vanitgygen führt diese Methode nicht aus.

Wenn ich den Code von vanitygenin GitHub untersuche, sehe ich, dass sie zufällige Funktionen verwenden. Kann ich darauf vertrauen? Ist es wirklich zufällig? Wie kann es sicher sein? Ist es die Maschinenzeit oder was?

Antworten (1)

Wenn zwei Personen vanitygen 1abcdefg ausführen, wie hoch ist die Wahrscheinlichkeit, dass beide Personen denselben öffentlichen Schlüssel und denselben privaten Schlüssel erhalten?

Wenn eine Milliarde Supercomputer eine Milliarde Jahre lang jeweils eine Milliarde Schlüssel pro Sekunde ausprobieren würden, wäre die Wahrscheinlichkeit einer Schlüsselkollision immer noch weniger als eins zu einer Milliarde.

Ich hoffe, dass die Antwort kleiner als 0,0000001 ist.

Ja, viel weniger.

Aber für dieses Vanigygen muss ein Zufallsalgorithmus verwendet werden (nicht einfach while(true){ i++; test()}).

Es braucht nur einen zufälligen Startplatz. Sie können von dort aus erhöhen, wenn Sie möchten. Die Anzahl der möglichen Startplätze hat in Dezimalschreibweise 77 Stellen.

Wie kann ein Computer einen zufälligen Startplatz mit 77 Ziffern erhalten ...? Wenn es nur new Date().valueOf()so ist, ist es kein echter Zufall
@Aminadav: Vielleicht möchten Sie etwas über kryptografisch sichere Pseudozufallszahlengeneratoren lesen .
@Aminadav Dies ist ein sehr gut verstandenes Problem! Die Zufälligkeit richtig hinzubekommen ist schwierig und extrem wichtig, und die Entwickler von Kryptowährungssoftware (zumindest die kompetenten) sind sehr darauf bedacht, es richtig zu machen. Häufig werden Quellen echter physikalischer Zufälligkeit verwendet, wie etwa Schrotrauschen, mikroskopische Zonentemperaturänderungen und turbulente Scherkräfte. (Echte Computer sind keine theoretisch perfekten Maschinen, sie treffen auf messbare Weise auf die analoge physikalische Welt.)
Das ist meine Frage, ob ich dieser Open-Source-Software vanitygen vertrauen kann. Wie wählt man ein zufälliges Problem aus? Worauf basiert es?
@nate. Wiki habe ich gelesen. Es geht um Sicherheit. Es erklärt nicht, wie der Maschinencomputer die Zufallszahl des Anfangszustands des Waldes speichern kann
@Aminadav Vanitygen folgt aktuellen Best Practices, einschließlich der Verwendung des Entropiepools des Systems auf Plattformen, die über einen verfügen. Der Entropiepool des Systems baut physische Zufälligkeiten ab, die durch Dinge wie Jitter im CPU-Taktsignal verursacht werden, das durch Temperaturschwankungen in seinem Quarzkristall verursacht wird. (Vanitygen hat das nicht selbst implementiert, das wäre dumm gewesen.)
@Aminadav Es verwendet auch mehrere Zufallsquellen und einen Algorithmus, der sicherstellt, dass das Ergebnis mindestens so stark ist wie seine stärkste Eingabe. Sie können also Systemspeicherinformationen, Festplatten-Timing und alle möglichen anderen Dinge einmischen, ohne befürchten zu müssen, dass die Verwendung zu vieler schwacher Quellen zu einem schwachen Ergebnis führt.
Ich habe festgestellt, dass es ein echtes Geheimnis ist, wie diese Zufallszahlengeneratoren funktionieren. Aber einige Leute entwickeln dies zurück: en.wikipedia.org/wiki/CryptGenRandom#Method_of_operation