2008-09-19 10 views

Antwort

29

Keine rechnerisch möglich Algorithmus sollte:

  • die Samen erholen, oder
  • Vorhersage den "nächsten Bit"

für einen sicheren Zufallszahlengenerator.

Beispiel: Ein lineares Rückkopplungsschieberegister erzeugt viele Zufallszahlen, aber bei ausreichender Ausgabe kann der Keim entdeckt und alle nachfolgenden Zahlen vorhergesagt werden.

1

Mit nur einer "Zufallszahl" meint man normalerweise eine Pseudozufallszahl. Da es sich um eine Pseudozufallszahl handelt, kann sie (leicht) von einem Angreifer vorhergesagt werden.

Eine sichere Zufallszahl ist eine Zufallszahl aus einer wirklich zufälligen Datenquelle, dh. mit einem Entropiepool von einigen Arten.

+1

Das ist eigentlich wirklich, wirklich ungenau: Eine zufällig generierte Zahl bedeutet genau das, zufällig generiert: würfel einen Würfel, höre weißes Rauschen vom Ton Karte, zufällig. –

+1

Pseudozufallszahlengeneratoren erzeugen scheinbar Zufallszahlen algorithmisch. Zum Beispiel Mersenne Twister. Kryptographisch starke Zufallszahlengeneratoren sind nicht weniger "pseudo", sie generieren auch algorithmisch Zahlen. –

+2

Es wird jedoch gezeigt, dass sie im Allgemeinen schwer vorherzusagen sind, vorausgesetzt, dass ihr Entropiepool geheim bleibt. Ein Beispiel für einen kryptographisch starken Pseudozufallszahlengenerator (prng) ist Yarrow, der bei der Implementierung von/dev/random und/dev/urandom unter Mac OS X verwendet wird und von Bruce entworfen wurde. –

0

Es hängt wahrscheinlich vom Kontext ab, aber wenn Sie sie so vergleichen, würde ich sagen, "Zufallszahl" ist ein pseduo random number und eine "sichere Zufallszahl" ist wirklich zufällig. Das erste gibt Ihnen eine Zahl, die auf einem Seed und einem Algorithmus basiert, die andere auf einer inherinally random function.

+0

Sichere Zufallszahlen müssen nicht aus wirklich zufälligen Quellen bestehen Zum Beispiel ist es in der Regel ziemlich sicher, sichere Zufallszahlen zu generieren, indem eine gute Pseudozufallsquelle verwendet wird und das MD5-Prüfsummenergebnis als sichere zufällige Ergebnisse verwendet wird. Dies ist keine ideale Lösung, aber anständig. –

0

Es ist wie der Unterschied zwischen AES und ROT13.

Um weniger frivol zu sein, gibt es im Allgemeinen einen Kompromiss, wenn Zufallszahlen generiert werden zwischen wie hart es ist und wie vorhersehbar der nächste in der Sequenz ist, wenn Sie ein paar gesehen haben. Eine Zufallszahl, die vom integrierten Rand() Ihrer Sprache zurückgegeben wird, ist normalerweise von der billigen, vorhersehbaren Variante.

1

Vereinbaren Sie mit Purfiedeas. Es gibt auch einen schönen Artikel darüber, genannt Cheat Online Poker

5

Eine sichere Zufallszahl sollte nicht vorhersehbar sein, auch wenn die Liste der zuvor erzeugten Zufallszahlen. Sie würden es normalerweise für einen Schlüssel zu einer Verschlüsselungsroutine verwenden, also möchten Sie es nicht erraten oder vorhersehbar. Natürlich hängt das vom Kontext ab, aber Sie sollten davon ausgehen, dass der Angreifer all die Dinge kennt, die Sie kennen und mit denen Sie Ihre Zufallszahl erstellen können.

Es gibt verschiedene Websites, die sichere Zufallszahlen generieren, eine vertrauenswürdige ist hotbits. Wenn Sie die Zufallsgenerierung nur als einmalige Aktivität durchführen, sollten Sie ein Lotterieergebnis verwenden, da es nachweislich zufällig ist. Erzähl natürlich niemandem, welche Lotterie und welche Ziehung, und setze diese Zahlen durch eine geeignete Mangel, um die Strecke zu bekommen, die du willst.

1

Eine Zufallszahl würde wahrscheinlich eine Pseudozufallszahl bedeuten, die von einem Algorithmus mit einem "Seed" zurückgegeben wird.

Eine sichere Zufallszahl wäre eine echte Zufallszahl, die von einem Gerät wie einem Cäsium-basierten Zufallszahlengenerator zurückgegeben wird (der die Abnahmerate des Cäsiums verwendet, um Zahlen zurückzugeben). Dies tritt natürlich auf und kann nicht vorhergesagt werden.

5

Beachten Sie, dass Zahlen nicht zufällig sind. "Zufälligkeit" ist einfach keine Eigenschaft einer gegebenen Zahl (nicht einmal wenn XKCD Ihnen etwas anderes sagt).

Nur der Prozess der Generierung der Zahlen könnte möglicherweise auf "Zufälligkeit" bewertet werden. Lesen Sie What Colour are your bits für eine Diskussion zu diesem Thema.

+4

Jeder Kommentar mit einer XKCD-Referenz erhält meine Zustimmung :) –