Umfragen zum Design von Pseudozufallszahlengeneratoren?

15

Ich interessiere mich für die Erzeugung von Pseudozufallszahlen für die Kryptographie. Neben Kapitel 5 von Menezes / Oorschot / Vanstone ; Kapitel 8 von Stinson ; und Kapitel 3 von Goldreich , wo sonst könnte ich mehr finden? Ich interessiere mich für allgemeine Prinzipien zum Entwerfen von PRNGs (wünschenswerte Eigenschaften, Tests usw.).

Jay
quelle
3
Nicht auf Design per se, aber Sie könnten an Goldreichs neuerem Buch interessiert sein: books.google.com/books?id=9k6Lw2U2XCkC
S Huntsman
@S Huntsman: vielen Dank dafür! Ich wusste nicht, dass Goldreich ein Buch über PRNGs hat.
Jay

Antworten:

8

Vielleicht möchten Sie auschecken

Dai Le
quelle
1
Das meiste davon ist für praktische Implementierungen von PRNGs für die Kryptographie nicht sehr relevant. Dies sind keine guten Ressourcen für einen Implementierer.
DW
4

Wenn Sie darüber nachdenken, Ihre Ideen umzusetzen, gibt es eine Standardbatterie von Tests, die PRNG-Implementierungen enthalten. Diese Tests (DIEHARD und Nachfolger von DIEHARDER) können von der archivierten Website bzw. unter http://www.phy.duke.edu/~rgb/General/dieharder.php heruntergeladen werden .

Peter Boothe
quelle
4
Wichtiger Warnhinweis: Das Bestehen von DIEHARD bedeutet nicht, dass Ihr PRNG von Nutzen ist. Dies ist keine Ressource, die ich einem Implementierer geben würde, der ein sicheres PRNG implementieren muss.
DW
1

Interessieren Sie sich für die Implementierung eines PRNG? In diesem Fall ist es am besten, nicht selbst zu entwerfen, sondern nur einen Standard zu verwenden. / dev / urandom ist auf den meisten Plattformen die richtige Antwort. Wenn / dev / urandom nicht existiert, ist es ein sinnvoller Ansatz, einen zufälligen AES-Schlüssel mit / dev / random zu generieren und anschließend den AES-CTR-Modus auszuführen, um viele Pseudozufallszahlen zu generieren.

Ich empfehle, dass Sie Cryptography Engineering von Ferguson, Schneier und Kohno lesen. Es ist ein ausgezeichnetes Buch. Es wird Ihnen viel darüber beibringen, wie man echte Kryptosysteme entwirft und baut.

Wenn Sie tatsächlich ein System erstellen müssen, das in der Praxis eingesetzt wird, empfehle ich, dass Sie sich nicht an der theoretischen CS-Community orientieren, sondern an der Community von Praktikern und praxisorientierten Forschern. Ein Großteil der theoretischen CS-Arbeit wird für die praktische Umsetzung eines sicheren PRNG nicht sehr relevant oder möglicherweise sogar irreführend sein. Ich empfehle Ihnen auch, sich den Austausch von IT-Sicherheitsstapeln für diese Art von Fragen anzusehen.

DW
quelle
4
Die Frage besagt ausdrücklich, dass er sich für allgemeine Prinzipien interessiert, und die Frage wurde beim theoretischen CS-Stapelaustausch gestellt ...
David Cash,