Echte Zufälligkeit vs. Pseudozufälligkeit
Unterscheiden Sie Entropiequellen von Hardware und softwarebasierte PRNGs.
Echte Zufälligkeit vs. Pseudozufälligkeit ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Zufälligkeit wichtig ist
Kryptografische Sicherheit hängt grundlegend von Unvorhersagbarkeit ab. Wenn ein Angreifer Ihren Schlüssel, IV oder Nonce — auch nur teilweise — vorhersagen kann, kann das gesamte kryptografische System zusammenbrechen. Schwache Zufälligkeit hat in der Praxis bereits zu katastrophalen Sicherheitsbrüchen geführt.
Echte Zufallszahlengeneratoren (TRNGs)
TRNGs gewinnen physikalische Entropie aus thermischem Rauschen in Widerständen, Schrotrauschen in in Sperrrichtung betriebenen Dioden, radioaktivem Zerfall, Mausbewegungen, Zeitabständen zwischen Tastatureingaben und Suchlatenzen von Festplatten. Dabei handelt es sich um tatsächlich unvorhersagbare physikalische Phänomene.
Entropie-Pool
Das Betriebssystem verwaltet einen Entropie-Pool — eine Sammlung physikalischer Rauschproben, die per XOR verknüpft und gemeinsam gehasht werden. Unter Linux greifen /dev/random und /dev/urandom auf diesen Pool zu. Der Pool wird während des laufenden Systembetriebs kontinuierlich aufgefüllt.
Pseudozufallszahlengeneratoren (PRNGs)
Ein PRNG (auch Deterministic RNG / DRNG genannt) erweitert einen kurzen Seed mithilfe eines deterministischen Algorithmus zu einem langen Strom von Pseudozufallsbytes. Bei demselben Seed erzeugt er dieselbe Ausgabe. Für die Kryptografie ist er nur geeignet, wenn er mit echter Entropie initialisiert wurde.
PRNG im Vergleich zu CSPRNG
Ein PRNG kann einen erkennbaren statistischen Bias aufweisen oder anhand beobachteter Ausgaben vorhersagbar sein. Ein Cryptographically Secure PRNG (CSPRNG) bietet zusätzlich: (1) Vorwärtssicherheit (frühere Ausgaben können aus dem aktuellen Zustand nicht vorhergesagt werden) und (2) Rückverfolgungsresistenz (zukünftige Ausgaben können aus früheren Ausgaben nicht vorhergesagt werden).
Unterscheidungstest
Ein PRNG ist kryptografisch sicher, wenn kein Algorithmus mit polynomialer Laufzeit seine Ausgabe von einer wirklich zufälligen Sequenz unterscheiden kann, und zwar mit einer Wahrscheinlichkeit, die signifikant besser als 1/2 ist. Dies ist das Kriterium der Next-Bit-Unvorhersagbarkeit.
Entropiequellen auf verschiedenen Plattformen
Linux: /dev/urandom (nicht blockierend, nach der anfänglichen Initialisierung), getrandom()-Systemaufruf. Windows: CryptGenRandom(), BCryptGenRandom(). macOS/iOS: SecRandomCopyBytes(). Browser: window.crypto.getRandomValues(). Alle speisen den Entropie-Pool des Betriebssystems.
Statistische Tests
NIST SP 800-22 stellt 15 statistische Tests für Zufälligkeit bereit: Frequenz, Blockfrequenz, Runs, Maurers Universaltest, lineare Komplexität usw. Das Bestehen statistischer Tests beweist keine kryptografische Sicherheit, sondern lediglich das Fehlen offensichtlicher Verzerrungen.
Qualität des Seeds
Ein CSPRNG, der mit schwacher Entropie initialisiert wurde, beispielsweise der aktuellen Zeit in Sekunden, ist vorhersagbar. Ein Angreifer, der den Seed kennt, kann die gesamte Ausgabe rekonstruieren. Initialisieren Sie immer aus der Betriebssystem-Entropie: os.urandom(32) in Python, nicht time.time() oder random.random().
Hardware-RNGs
Intel RDRAND (eine x86-Instruktion) liefert hardwaregenerierte Zufallsbytes aus einem integrierten TRNG. Entsprechende Hardware gibt es auch von AMD und für ARM. Linux mischt RDRAND in /dev/urandom ein. Wegen bestehender Vertrauensbedenken wird RDRAND als zusätzliche Entropiequelle und nicht als alleinige Quelle verwendet.
Quanten-Zufallszahlengeneratoren
QRNGs nutzen quantenmechanische Phänomene wie Photonenankunftszeiten und Vakuumfluktuationen, um nachweislich zufällige Ausgaben zu erzeugen. Kommerzielle QRNGs (ID Quantique, Quantis) werden in Hochsicherheitsanwendungen eingesetzt. Für den allgemeinen Einsatz sind sie zu kostspielig.
Kurze Überprüfung
Welche Eigenschaft unterscheidet einen CSPRNG von einem gewöhnlichen PRNG?
Zusammenfassung
TRNGs gewinnen physikalische Entropie; PRNGs erweitern einen Seed deterministisch; CSPRNGs sind nicht von echter Zufälligkeit zu unterscheiden. Entropie-Pools des Betriebssystems kombinieren beide Ansätze. Als Nächstes folgen konkrete CSPRNG-Designs aus der Praxis.
Häufig gestellte Fragen
Ist die Lektion „Echte Zufälligkeit vs. Pseudozufälligkeit“ kostenlos?
Ja — der vollständige Text von „Echte Zufälligkeit vs. Pseudozufälligkeit“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Echte Zufälligkeit vs. Pseudozufälligkeit“?
Unterscheiden Sie Entropiequellen von Hardware und softwarebasierte PRNGs. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Echte Zufälligkeit vs. Pseudozufälligkeit“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Echte Zufälligkeit vs. Pseudozufälligkeit
- Kryptografisch sichere PRNGs
- Entropiemangel und Fehler durch schwache Schlüssel
- Schlüssel, Nonces und IVs sicher erzeugen