Zufallszahlen VORHERSEHEN?! Wie knackt man den Linear Congruential Generator (LCG)? |

  Рет қаралды 12,144

Florian Dalwigk

Florian Dalwigk

Күн бұрын

Пікірлер: 80
@lukaswermeyer1455
@lukaswermeyer1455 3 жыл бұрын
Überraschend! Super Video, alles gut nachvollziehbar.
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Danke dir 😊
@DevOFVictory
@DevOFVictory 3 жыл бұрын
Vielen Dank für dieses sehr informatives und interessantes Video! Du hast alles nachvollziehbar und spannend erklärt. Insgesamt wieder mal ein echt starkes Video - Gefällt mir! :) Weiter so
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Freut mich 🙂
@SebastianHasch
@SebastianHasch 3 жыл бұрын
Wie immer ein Top Video👍🏼 Frohe Ostern euch allen🐰🐣
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Danke, dir auch :)
@Watterdev
@Watterdev 3 жыл бұрын
Kurzgesagt: Echten Zufall kann man nicht vorhersehen, Pseudo Zufall schon!
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Jepp :)
@schachsommer12
@schachsommer12 3 жыл бұрын
15:57 Na klar, ganz einfach.^^ Ich glaube, dass ich schon spätestens nach der Hälfte des Videos geistig ausgestiegen bin und die Verbindung zur Informatik verloren oder vergessen habe. ;-) Ich habe nur noch Mathematik verstanden. :-P Bäh XD
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
😄
@schachsommer12
@schachsommer12 3 жыл бұрын
@@stl-xx5rq Wenn man's genau nimmt, geht nichts ohne Mathematik.^^
@johnwayne8059
@johnwayne8059 3 жыл бұрын
Gutes, nein, sehr gutes Video! 👍👍👍
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Danke 😁
@markusroth8770
@markusroth8770 3 жыл бұрын
Eine Frage an den / die Experten: 2006 hatte ich meine ersten Erfahrungen mit einem Dualcore-Prozessor (AMD Athlon X2 64) gemacht. Ein Würfelspiel, dass ich selbst programmiert mit REALBasic (heute Xojo) geschrieben hattem verhielt sich plötzlich anders als auf meinem Pentium 4. Zwei der drei Würfel zeigen (fast) immer die gleiche Zahl. Wie ist das möglich, obwohl ich das Programm nicht auf Paralellisierung umgestellt hatte?
@StyleTechnique
@StyleTechnique 3 жыл бұрын
Ha, erwischt 9:05 ! Ist aber vermutlich kein Wunder. Denn ich habe damals fast alle Kassetten gehabt und mindestens 6 oder 7 Bücher mit mehreren Geschichten. Ich sage nur Robert Arthur. Ob das wohl Zufall war? ;)
@Akturus737
@Akturus737 3 жыл бұрын
Sie können das sehr gut erklären dass ich als 5 Klässler das verstehe
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Wow :)
@lol-vq8dh
@lol-vq8dh 3 жыл бұрын
Könnte man nicht einen Zufallsgenerator bauen indem man sich zahlen wie zb die aktuelle cpu-, (...) Auslastung, die aktuelle Uhrzeit auf ms genau oder die anzahl der geöffnet dienste mit einander verrechnet? Diese sachen sind zwar nicht zufällig aber sicherlich schwierig vorherzusagen (vor allem genau, da sie sich auch ständig ändern)
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Geht auch, aber sie sind theoretisch vorhersehbar. Es geht hier gerade darum nicht vorhersehbar zu sein. Es gibt aber auch kryptographisch sichere PRNGs.
@eliaskerlin5465
@eliaskerlin5465 3 жыл бұрын
17:30 flashbang
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Sorry
@schwegelbin
@schwegelbin 3 жыл бұрын
Danke. Kriegst 'nen neuen Abo.
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Willkommen an Bord.
@1vader
@1vader 3 жыл бұрын
Seit Python 3.8 kann man das multiplikative-inverse mod m von x übrigens einfach mit der eingebauten pow()-Funktion berechnen: pow(x, -1, m)
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Das stimmt! Wollte ich eigentlich nich erwähnen, aber nicht jeder hat Python 3 und der Rest läuft sowieso in SageMath.
@maxstuhldreier5345
@maxstuhldreier5345 3 жыл бұрын
wie funktioniert denn das Modul Random in Python und kann man das theorethisch auch vorhersagen ? :)
@oj0024
@oj0024 3 жыл бұрын
Ja. `random.random()` verwendet den Mersenne Twister Zufallsgenerator, von welchen man mit 10 outputs schon den seed bekommen kann. (siehe "Bsides LV 2014 - Untwisting The Mersenne Twister: How I killed the PRNG - 05Aug2014" auf youtube)
@MiauRizius
@MiauRizius 3 жыл бұрын
cooles Video :D Gut erklärt und (ich fand's) leicht zu verstehen
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Das spricht für dich oder für mich oder für uns beide.
@lucaherrmann77
@lucaherrmann77 3 жыл бұрын
Oder für mich D:
@floriandyck3534
@floriandyck3534 3 жыл бұрын
bei ca. 16 min muss unten rechts d3 nicht d2 sein
@hannahh8119
@hannahh8119 3 жыл бұрын
Gab es nicht mal ein Video zum Thema "ich hab doch nichts zu verbergen"? Ich hab das jetzt ewig gesucht und finde es nicht.. oder hab ich das verwechselt?
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Das ist offline.
@hannahh8119
@hannahh8119 3 жыл бұрын
@@Florian.Dalwigk Ah, ok. Schade, ich wollte das gerade jemanden weiterleiten und nochmal selbst schauen. Danke für die Rückmeldung. :)
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Kommt bald wieder online!
@hannahh8119
@hannahh8119 3 жыл бұрын
@@Florian.Dalwigk cool, danke! :)
@xsold
@xsold 3 жыл бұрын
Was ist nochmal das Gegenteil von Kongruent?
@schachsommer12
@schachsommer12 3 жыл бұрын
18:30 Und zack, schon hänge ich mal wieder in einem Grafik- oder anderen Fehler im Spiel fest und komme nicht mehr vor und nicht zurück, ohne eine Cheatfunktion benutzt zu haben. Ergebnis: neu laden
@tomicriedel5005
@tomicriedel5005 3 жыл бұрын
5:52 "Das Seed sollte ebenfalls Random sein." wie soll das eigentlich "richtig" Random sein, wenn der Seed auch won einem Computer random generiert wird? Dann müsste es ja unendlich viele randomizer geben, , da der Seed ja immer wieder random sein soll.
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Das kann man z. B. durch atmosphärisches Rauschen oder einen QRNG bestimmen.
@WuaghhhhXMA
@WuaghhhhXMA 3 жыл бұрын
Es ist etwas ungünstig n als Index des Folgenglied zu benutzen, aber ebenfalls für (eine andere Zahl) den Teiler der Restklasse (mod n). Auch ist die Schreibweise dort nicht ganz eindeutig, da du mod hier als Operator benutzt, und dieser für gewöhnlich stärker bindet als die Addition. Analog z.B. in Python: 2*4+3%5 ergibt 11 und nicht 1. Du meinst (2*4+3) mod 5, d.h. (2*4+3)%5. Alternativ mit Kongruenzen (innerhalb der Restklasse) arbeiten: 1≡2*4+3 (mod 5)
@_nikeee
@_nikeee 3 жыл бұрын
Das Modulo gleich verteilt, ist nicht in jedem Kontext richtig. Will man Modulo z. B. nutzen, um aus einem bestimmten Zufallsintervall eine Zufallszahl in einem kleineren Intervall zu berechnen, bekommt man durch das Modulo einen Bias ("Modulo Bias"). Der "richtige" weg, ist, so lange zu prüfen, bis man eine Zahl in dem gewünschten Intervall bekommt.
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Dass das nicht so ist, erwähne ich auch im Video.
@_nikeee
@_nikeee 3 жыл бұрын
@@Florian.Dalwigk Hab ich dann wahrscheinlich nicht mitbekommen.
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Wird sogar an einem Beispiel verdeutlicht ...
@xXmonsterfreak95
@xXmonsterfreak95 3 жыл бұрын
Hi, kurze Frage: mir ist gerade aufgefallen das dein Video zu den Whatsapp Alternativen nicht mehr verfügbar ist. Gibt es einen Grund warum du es gelöscht hast? Grüße
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Ja, gibt es (sonst hätte ich es nicht runtergenommen). Ich war mit der Qualität des Videos nicht zufrieden. Grüße zurück
@xXmonsterfreak95
@xXmonsterfreak95 3 жыл бұрын
@@Florian.Dalwigk Logisch :) Kommt dazu nochmal ein neues Video oder eher nicht? :)
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Mal schauen ... das "Ich hab doch nichts zu verbergen" Video habe ich ja auch wieder online gestellt ;)
@chris-ph6so
@chris-ph6so 3 жыл бұрын
Gibt es irgend ein Verfahren mit dem man Poker sozusagen "perfekt" also sehr gut spielen könnte ?
@rainerwahnsinn8411
@rainerwahnsinn8411 3 жыл бұрын
Nein. Les Bücher und spiel viel, dann wirst Du vielleicht besser.
@mjk3803
@mjk3803 2 жыл бұрын
okay danke, jetzt weiß ich auch warum falsche Zufallszahlen berechenbar sind. Aber theoretisch könnte man verschiedene Codes von verschiedenen Algorythmen erstellen lassen, und dann sequenzen untereinander beliebig vertauschen. Wird zwar auch kein echter Zufall sein, aber besser als nix oder?
@oj0024
@oj0024 3 жыл бұрын
Was noch interessant zu wissen ist, ist das truncated LCG's mit ner groß genugen state (128 bits) sehr gute Zufalls Qualität liefern können. Z.B.: __uint128_t g_lehmer64_state; uint64_t lehmer64() { g_lehmer64_state *= 0xda942042e4dd58b5; return g_lehmer64_state >> 64; } Schafft es durch die modernen Zufallszahlen Test Suites (BigCrush und PractRand). (siehe lemire's blog 2019.03.19) Der sehr bekannt PRNG PCG64 verwendet auch ein truncated LCG intern, dieser wurde zwar auch schon geknackt, aber das der Algorithmus braucht dafür ~20000 CPU Stunden. (siehe "Practical seed-recovery for the PCG Pseudo-Random Number Generator") Edit: Weil das schon in einem anderen Kontext viele falsch verstanden haben: Es handelt sich bei obigen AUF KEINEN FALL UM EIN KRYPTOGRAFISCH SICHEREN ALGORITHMUS. Wollte das nur noch einmal gesagt haben.
@johnwayne8059
@johnwayne8059 3 жыл бұрын
Sorry, hab mein letztes Kommentar ziemlich bescheiden, unter einem anderen Kommentar gekostet!🤦‍♂️🤣🤣🤣 ...Aber dieses Video meine ich...!😇
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Ich weiß ;)
@schwingedeshaehers
@schwingedeshaehers 3 жыл бұрын
Bzw einfach prüfen ob der gcd eine Primzahl ist, wenn nein, primfaktorzerlegung, und den größten primfaktor nutzen.
@WordsOfTheFuture
@WordsOfTheFuture 3 жыл бұрын
Ich vermute, dass man hiermit jetzt auch die RSA ctf challange lösen kann?
@gefitrop3496
@gefitrop3496 3 жыл бұрын
Nur mit zwei bekannten parametern
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Nicht ganz ;)
@mmaue
@mmaue 3 жыл бұрын
Ich habe versucht es ohne Sagemath zu machen und verwende in case4: n = math.gcd(*nks) aus irgendwelchen gründen erhalte ich als n dann den Wert 0. Kann mir da jemand weitehelfen, oder hat noch jemand das Problem?
@jewcecookie8595
@jewcecookie8595 3 жыл бұрын
Man kann den Zufall, sowie die Zukunft vorausehen. Man muss dafür jedoch ein Laplacescher Dämon sein. ^^
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
😄
@anouuunymus2468
@anouuunymus2468 3 жыл бұрын
Algorithmus Push!!
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
😎🙏
@OettingerPirat
@OettingerPirat 2 жыл бұрын
Man achte auf die Details: Die drei Fragezeichen bei den unbekannten Werten im Video haben sicherlich nicht rein zufällig die Farben, wie sie für ein bekannten Kriminalisten-Trio verwendet werden ;)
@Florian.Dalwigk
@Florian.Dalwigk 2 жыл бұрын
Gut beobachtet, Peter!
@rafe5587
@rafe5587 3 жыл бұрын
Help zu viel Mathe ich glaube zaubern ist leichter😅😅
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
😅
@mirjamgebauerable
@mirjamgebauerable 11 ай бұрын
Die Klammersetzung in dem Video ist falsch. wenn du "mod n" hinter eine Summe Schreibst ohne eine Klammer drum rum zu setzen, dann bezieht sich das immer nur auf den letzten Summanden. Bsp: z*m + c mod n ist nicht Korrekt. Es müstse (z*m + c) mod n heißen c mod n ergibt auch immer c, weil n größer ist als c. In der Implementierung ist es außerdem korrekt.. Ansonsten gutes Video
@Florian.Dalwigk
@Florian.Dalwigk 11 ай бұрын
👍
@vanity9863
@vanity9863 3 жыл бұрын
🧐🤨🤔😳😓😚😊
@wz_lx24
@wz_lx24 3 жыл бұрын
Zweiter
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Dafür gibt es aber nix :P
@wz_lx24
@wz_lx24 3 жыл бұрын
@@Florian.Dalwigk :(
@pi9463
@pi9463 3 жыл бұрын
moin
@Florian.Dalwigk
@Florian.Dalwigk 3 жыл бұрын
Das ist jetzt das dritte Mal.
@wz_lx24
@wz_lx24 3 жыл бұрын
Würde dieser Code hier auch funktionieren: seed = 2 numbers = [seed] for i in range(1, 10): numbers.append(((2 * numbers[i - 1]) + 3) % 5) print(str(numbers[i]), ' = 2 *', seed, '+ 3 mod 5')
@spaghetti7504
@spaghetti7504 3 жыл бұрын
Sagen wir es so. Er produziert das gleiche wie mein Code, welcher nur aus der Formel besteht. Außerdem deckt das das Ergebnis im Video. for i in range(10): z = (2 * z + 3)% 5 print(z)
Wie funktioniert die ENDE-ZU-ENDE-VERSCHLÜSSELUNG? (E2EE)
3:57
Florian Dalwigk
Рет қаралды 23 М.
Quanten-Zufallsgenerator (QRNG) | #Quanteninformatik
17:03
Florian Dalwigk
Рет қаралды 11 М.
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
ALLE Python Keywords in EINEM Video erklärt | #Python
14:06
Florian Dalwigk
Рет қаралды 63 М.
Gibt es Zufall? | Harald Lesch
14:39
Terra X Lesch & Co
Рет қаралды 1,2 МЛН
Wie funktionieren DIGITALE SIGNATUREN (einfach erklärt)?
7:29
Florian Dalwigk
Рет қаралды 60 М.
Java Tipps, Tricks und Hacks  -  Java programmieren lernen
8:43
ModelMyMind
Рет қаралды 1,1 М.
Randomness is calculated - Linear Congruential Generators Explained
10:48
Was ist eine BLOCKCHAIN? (einfach erklärt)
7:40
Florian Dalwigk
Рет қаралды 83 М.
Das One-Time-Pad (OTP)
8:55
Florian Dalwigk
Рет қаралды 32 М.
Zufallszahlen generieren // deutsch
15:29
the native web GmbH
Рет қаралды 2,4 М.
Putin urgently interrupted a meeting / Change of power in Ukraine
14:46
Random Numbers (2 of 2: Linear Congruential Generator)
12:47
Eddie Woo
Рет қаралды 51 М.