Soweit mir bekannt ist, verwenden die meisten Implementierungen der Erzeugung von Pseudozufallszahlen in der Praxis Methoden wie Linear Shift Feedback Register (LSFRs) oder diese "Mersenne Twister" -Algorithmen. Obwohl sie viele (heuristische) statistische Tests bestehen, gibt es keine theoretischen Garantien dafür, dass sie beispielsweise bei allen effizient berechenbaren statistischen Tests pseudozufällig aussehen. Diese Methoden werden jedoch unterschiedslos in allen Arten von Anwendungen eingesetzt, von kryptografischen Protokollen über wissenschaftliches Rechnen bis hin zu Bankgeschäften (wahrscheinlich). Ich finde es etwas besorgniserregend, dass wir kaum oder gar keine Garantie dafür haben, ob diese Anwendungen wie beabsichtigt funktionieren (da jede Art von Analyse wahrscheinlich echte Zufälligkeit als Eingabe angenommen hätte).
Auf der anderen Seite bieten Komplexitätstheorie und Kryptographie eine sehr reiche Theorie der Pseudozufälligkeit, und wir haben sogar Kandidatenkonstruktionen von Pseudozufallsgeneratoren, die JEDEN effizienten statistischen Test täuschen würden, den Sie sich unter Verwendung von Einwegkandidatenfunktionen ausdenken könnten.
Meine Frage ist: Hat diese Theorie ihren Weg in die Praxis gefunden? Ich hoffe, dass für wichtige Zwecke der Zufälligkeit, wie Kryptographie oder wissenschaftliches Rechnen, theoretisch fundierte PRGs verwendet werden.
Abgesehen davon konnte ich eine eingeschränkte Analyse finden, wie gut populäre Algorithmen wie QuickSort funktionieren, wenn LSFRs als Zufallsquelle verwendet werden, und anscheinend funktionieren sie gut. Siehe Karloff und Raghavan "Randomisierte Algorithmen und Pseudozufallszahlen" .
Antworten:
Der Begriff "theoretisch fundierter" Pseudozufallsgeneratoren ist nicht wirklich klar definiert. Schließlich hat kein Pseudozufallsgenerator einen Sicherheitsnachweis. Ich weiß nicht, dass wir sagen können, dass ein Pseudozufallsgenerator, der auf der Härte der Faktorisierung großer Ganzzahlen basiert, "sicherer" ist, als beispielsweise AES als Pseudozufallsgenerator zu verwenden. (In der Tat gibt es ein Gefühl, dass es weniger sicher ist, da wir Quantenfaktor-Algorithmen kennen, aber keine Quantenalgorithmen, um AES zu brechen.)
Wir haben mathematische Beweise für verschiedene Kompositionsergebnisse, die besagen, dass Sie Pseudozufallsgeneratoren oder Pseudozufallsfunktionen erhalten können, wenn Sie Blockchiffren oder Hash-Funktionen auf bestimmte Weise komponieren. Einige dieser Ergebnisse sind in der Praxis weit verbreitet, z . B. HMAC . Es ist jedoch richtig, dass die Ergebnisse, die eine PRG erzielen und nur davon ausgehen, dass die Basiskomponente eine einfache Einwegfunktion ist, nicht effizient genug sind, um sie für Anwendungen zu verwenden (und dies ist zumindest teilweise inhärent)). In der Regel müssen wir also eine PRG- / Stream-Verschlüsselungs- / Block-Verschlüsselungs- / Hash-Funktion als Grundelement annehmen und andere Dinge daraus erstellen. Es geht nicht wirklich um eine asymptotische Analyse, da im Wesentlichen alle kryptografischen Reduktionen (mit Ausnahme von Levins universellem PRG) konkretisiert werden können und somit unter konkreten Annahmen konkrete Garantien geben.
Obwohl sie nicht auf Einwegfunktionen basieren, sind Konstruktionen wie AES in gewisser Weise "theoretisch fundiert", weil: (1) formale Vermutungen über ihre Sicherheit bestehen. (2) Es wird versucht, diese Vermutungen zu widerlegen und daraus auch Implikationen abzuleiten.
Tatsächlich wissen die Leute, dass es für viele Anwendungen nicht klug wäre, PRGs wie LSFR zu verwenden, die die obigen Punkte (1) und (2) nicht erfüllen.
quelle
Sie scheinen Theorie mit Praxis zu verwechseln. Ein theoretisch solider Pseudozufallsgenerator ist aus mehreren Gründen für den praktischen Gebrauch ungeeignet:
Im Gegensatz dazu sind tatsächliche Pseudozufallsgeneratoren schnell und kommen abhängig von ihrer Verwendung in unterschiedlichen Geschmacksrichtungen vor. Für den nicht-kryptografischen Gebrauch ist fast alles außer einem einfachen LFSR ausreichend - nicht nachweisbar, aber in der Praxis (was für Leute, die Dinge in der Realität benutzen, wichtiger ist).
Für den kryptografischen Gebrauch versuchen die Leute schlauer zu sein. An dieser Stelle macht Ihre Kritik Sinn: Wir können nicht wissen, dass ein bestimmter verwendeter Pseudozufallsgenerator "sicher" ist, und in der Tat sind einige alte defekte, zum Beispiel RC4, wie er in WEP verwendet wird. Aus den oben genannten Gründen ist die Verwendung eines theoretisch (bedingt) klingenden Pseudozufallsgenerators leider keine realistische Lösung. Stattdessen stützt sich die kryptologische Gemeinschaft auf "Peer Review" - andere Forscher, die versuchen, das System zu "brechen" (ihre Definition, wann eine Chiffre gebrochen wird, ist sehr weit gefasst).
Schließlich wird bei Anwendungen, bei denen das Geld investiert werden kann und Sicherheit wichtig genug ist (beispielsweise bei Nuklearcodes), physisch erzeugtes Rauschen verwendet (das durch einen Zufallsextraktor geleitet wird), auch wenn dies nicht jenseits theoretischer Kritik liegt.
Wenn Forscher Zuschussvorschläge oder Einführungen in Arbeiten schreiben, behaupten sie oft, dass ihre Forschung die Praxis betrifft und informiert. Ob sie daran glauben oder es nur ein Lippenbekenntnis ist, weiß ich nicht (und es kann vom Forscher abhängen), aber Sie sollten sich bewusst sein, dass der Zusammenhang in akademischen Kreisen aus offensichtlichen Gründen stark übertrieben ist.
Eine Sache, die uns als Mathematiker einschränkt, ist unsere dogmatische Bindung an formale Beweise. Sie erwähnen die Analyse randomisierter Algorithmen, die von einfachen Pseudozufallsgeneratoren gespeist werden. Diese Art der Analyse kann nicht auf reale Probleme ausgedehnt werden, da sie einfach zu kompliziert sind. Und doch lösen die Menschen in der Praxis ständig auch NP-schwierige Probleme mit informierten Methoden.
Probleme der realen Welt werden mit einem wissenschaftlicheren und experimentelleren Blick besser verstanden. Sie sind aus technischer Sicht besser zu lösen. Sie inspirieren die theoretische Forschung und werden gelegentlich darüber informiert. Wie Dijsktra sagte, geht es in der (theoretischen) Informatik nicht mehr wirklich um Computer.
quelle