Inhalt 📚
Kann man den Zufall vorhersehen? Die Antwort lautet schlicht und ergreifend: NEIN. Was soll dann aber der Titel dieses Videos? Clickbait? Auch das ist zu verneinen! Wenn ich sage, dass man den Zufall nicht vorhersehen kann, dann meine ich damit "echten" Zufall und nicht den Zufall aus der Dose bzw. dem Computer. Aufgrund ihrer deterministischen Natur ist es nämlich nicht möglich, mit einem einfachen Computer bzw. Algorithmus "echten" Zufall zu erzeugen. Es ist eben immer eine Art "berechneter" Zufall oder auch "Pseudozufall". Alle Zufallszahlengeneratoren, die dir Python, Java und Co. zur Verfügung stellen, sind sogenannte "Pseudozufallszahlengeneratoren" (kurz PRNGs). Echte Zufallszahlengeneratoren (TRNG) können z. B. mithilfe von Quantencomputern hergestellt werden (sog. Quantenzufallszahlengeneratoren, kurz QRNGs). Wie man so etwas programmiert, habe ich bereits in einem eigenen Video erklärt. Weitere Möglichkeiten, um neben dem berechneten Zufall einen halbwegs "zufälligen Zufall" hinzubekommen, sind
- das Rauschen elektronischer Bauelemente,
- radioaktive Zerfallsprozesse und
- Chaosbewegungen (wie etwa der Fall eines Blatt Papiers).
Wofür braucht man echte Zufallszahlen überhaupt? Nun, sie finden Anwendung in den Bereichen
- Glücksspiele/Lotterien,
- Load-Balancing,
- Wettersimulationen,
- Schlüsselgenerierung,
- randomisierte Algorithmen,
- Kryptographie und
- Random-Seed-Generation
Was man unter einem "Seed" versteht, wirst du im Laufe des Videos noch erfahren. Wir werden uns anhand des sog. "Linear Congruential Generators" (kurz LCG), der eine Möglichkeit zur Berechnung von Zufallszahlen ist, anschauen, wie leicht man schlechten Zufall vorhersehen und die dahinterstehenden Secrets knacken kann. Ziel des Videos ist also: Ohne zu wissen, mit was der LCG initialisiert wird, in die Zukunft (und damit auch in die Vergangenheit) berechnen zu können, welche Zahlen der Zufallszahlengenerator als nächstes liefert. Klingt nach Magie? Nein, dahinter steckt einfache Mathematik :)
- Einführung: 0:00
- Wofür braucht man "echte" Zufallszahlengeneratoren?1:02
- Wie funktioniert ein LCG? 1:45
- Implementierung eines LCG in Python: 6:12
- LCG Knacken, Fall 1: Alles bekannt 8:13
- LCG Knacken, Fall 2: c unbekannt 8:55
- LCG Knacken, Fall 3: m und c unbekannt 10:01
- LCG Knacken, Fall 4: Alles unbekannt 12:45
- CRYPTO IS HARD! DEAL WITH IT! 18:03
EQUIPMENT(*)
🎤 Mikrofon amzn.to/3N0CHCL
✂️ Schnittprogramm amzn.to/3CZ217J
💻 Mein Laptop amzn.to/3ikMd5V
🖥️ Bildschirm amzn.to/3ig3yN5
SUPPORT
► Patreon / florian_dalwigk
► PayPal
► Unterstütze mich durch einen Kauf auf Amazon. Für dich entstehen keine Mehrkosten! (*) amzn.to/3LgyglY
SOCIAL MEDIA
💬 Discord: / discord
💡 Website: www.florian-dalwigk.de
📱 TikTok: / florian.dalwigk
🤳 Instagram: / florian.dalwigk
🐦 Twitter: / florian_dalwigk
📧 E-Mail: mailto:info@florian-dalwigk.de
Wie programmiert man einen Quantenzufallszahlengenerator? 📼 • Quanten-Zufallsgenerat...
Einführung in die Zahlentheorie 📼 [FOLGT]
Quellen/Lektüre:
⚙️ security.stackexchange.com/qu...
⚙️ gist.github.com/oupo/e6e2d470...
⚙️ tailcall.net/blog/cracking-ra...
⚙️ / cracking_a_linear_cong...
⚙️ crypto.stackexchange.com/ques...
(*) Bei den Amazon-Links (https.//amzn.to/???????) handelt es sich um Affiliate-Links. Wenn du etwas über diesen Link kaufst, bekomme ich eine kleine Provision. Der Preis ändert sich nicht, wenn du über diesen Link einkaufst. Vielen Dank für deine Unterstützung.
Негізгі бет Zufallszahlen VORHERSEHEN?! Wie knackt man den Linear Congruential Generator (LCG)? |
Пікірлер: 86