Stufe 1 · Der Anfang Modul 3 von 21
Warum Mischen am Bildschirm zählt
- 15 Minuten
- 1 geführte Übung
- Karte ziehen
Erik hat dieses Werkzeug mit einem Satz bestellt: „Das Legen der Karten am Rechner ist legitim, solange das Mischen mit der eigenen Maus mitgetragen wird." Dieses Modul erklärt, was dabei tatsächlich passiert — und sagt den unbequemen Satz dazu, den sonst niemand sagt.
Die Annahme, mit der fast jeder herkommt
Die Annahme lautet: Ein Kartenwerkzeug im Netz zieht eine Zufallszahl, und das ist dasselbe wie Mischen. Oder, in der anderen Richtung: Am Bildschirm könne man gar nicht richtig mischen, weil kein Zufall drinstecke.
Beides ist falsch, und zwar aus demselben Grund: Es kommt nicht darauf an, ob Zufall im Spiel ist — das ist er in beiden Fällen. Es kommt darauf an, woher er kommt und ob der Mensch davor daran beteiligt ist.
Was ein Zufallsgenerator ist — und was er nicht ist
Ein Rechner kann nicht würfeln. Was er stattdessen tut: Er nimmt eine Startzahl und rechnet daraus eine Folge von Zahlen aus, die zufällig aussieht. Dieselbe Startzahl ergibt dieselbe Folge — jedes Mal, auf jedem Gerät. Deshalb heißt das Verfahren Pseudozufallsgenerator.
Das ist kein Mangel, solange die Startzahl gut ist. Ist sie es nicht — etwa die aktuelle Uhrzeit —, dann ist die ganze Folge vorhersagbar, und zwar rückwirkend: Wer weiß, wann Du gezogen hast, weiß, was Du gezogen hast.
Die eigentliche Frage ist also immer die nach der Startzahl. Und genau an dieser Stelle kommt hier Deine Hand ins Spiel.
Was Deine Hand liefert
Bei jeder Mausbewegung schickt der Browser ein Ereignis mit drei brauchbaren Angaben: wo der Zeiger ist, wann das war, und daraus errechenbar, wie er sich bewegt hat.
Verwertbar sind davon nicht die Werte selbst, sondern ihre niederwertigsten Stellen — das letzte Bit einer Koordinate, der Bruchteil eines Zeitabstands, der Wechsel der Richtung. Diese Stellen sind echt zufällig, weil eine menschliche Hand nicht zittert wie ein Uhrwerk. Sie gehen in einen Speicher, den Entropiepuffer.
Auf dem Telefon dasselbe mit dem Finger. Kein Sensor wird abgefragt — die Lagesensoren würden eine Berechtigung verlangen, und eine Nachfrage für ein Kartenspiel ist eine Zumutung.
Nicht der Verlauf. Was in den Puffer geht, ist eine Mischung, aus der sich die Bewegung nicht zurückrechnen lässt — und der Puffer verlässt das Gerät nie.
Das ist keine Zusicherung, sondern eine Eigenschaft des Baus: Beim Mischen und Ziehen gibt es überhaupt keine Anfrage an unseren Server. Die Seite hat dafür keine Stelle. Eine Eigenschaft ist mehr wert als ein Versprechen, weil man sie nachsehen kann.
Die zwei Grenzen, und warum es zwei sein müssen
Gemischt wird erst, wenn beides erfüllt ist:
- 150 Bewegungsereignisse — genug Einzelmessungen.
- 1.800 Pixel Weglänge, aufsummiert — genug echte Bewegung.
Eines allein ließe sich umgehen, und zwar in beide Richtungen: Ein zitternder Finger auf einem Fleck erzeugt viele Ereignisse ohne Weg. Ein einziger schneller Wisch erzeugt viel Weg ohne Ereignisse. Beides zusammen verlangt, was man beim Mischen von Karten tatsächlich tut.
Der Balken auf dem Werkzeug zeigt beides verrechnet. Vor 100 % gibt es keine Karte — der Knopf ist abgeschaltet, nicht nur unhöflich.
Fisher-Yates: warum nicht sortiert wird
Der verbreitetste Weg, eine Liste im Netz zu mischen, ist ein Einzeiler: die Liste sortieren und dabei würfeln, wer vorn steht. Dieses Verfahren ist nachweislich schief. Wie schief, hängt davon ab, welches Sortierverfahren der Browser benutzt — das Ergebnis ist in Chrome anders verteilt als in Firefox.
Hier läuft stattdessen Fisher-Yates: Man geht die Karten von hinten durch und tauscht jede mit einer zufällig gewählten davor. Das Verfahren ist über hundert Jahre alt, braucht genau 77 Zufallszahlen für 78 Karten, und es ist das einzige, bei dem jede Anordnung gleich wahrscheinlich ist.
Wer eine Zahl zwischen 0 und 77 braucht und dafür zufall % 78 rechnet, bevorzugt die kleinen Werte — weil 78 kein Teiler der Zahlenmenge ist, aus der gezogen wird. Die Abweichung ist winzig und messbar.
Wir verwerfen stattdessen die überzähligen Werte und ziehen neu. Das kostet gelegentlich einen zweiten Durchlauf und ist dafür exakt. Ein Kurs, der über Redlichkeit schreibt, darf diesen Fehler nicht haben — auch wenn ihn niemand bemerken würde.
Die unbequeme Auskunft
Die Handbewegung ist nicht die bessere Zufallsquelle. Der eingebaute kryptographische Zufallsgenerator Deines Browsers ist stärker als alles, was eine Hand liefern kann — dafür ist er gebaut.
Die Bewegung ist die Beteiligung des Menschen am Vorgang. Sie ist echte physikalische Entropie, sie nimmt dem Ergebnis nichts, und sie ist der Unterschied zwischen einem Knopf und einem Mischen. Aber sie ist kein technischer Fortschritt, und wer das behauptet, verkauft Technik als Magie.
Deshalb wird hier beides verrechnet: der Puffer aus Deiner Bewegung und frische Bits aus dem kryptographischen Generator, mit XOR verknüpft. Das Ergebnis ist mindestens so gut wie die bessere der beiden Quellen — selbst wenn eine davon völlig vorhersagbar wäre.
Eine Zahl, die größer ist, als sie aussieht
Wie viele Reihenfolgen gibt es für 78 Karten? Die Antwort ist 78 · 77 · 76 · … — eine Zahl mit 116 Stellen. In der Maßeinheit, die hier zählt, sind das 382 Bit.
Und jetzt die Stelle, an der es interessant wird: Ein üblicher Generator hat einen inneren Zustand von 128 Bit. Er kann also gar nicht alle Reihenfolgen erzeugen — sondern nur einen verschwindenden Bruchteil davon. Von je 2254 möglichen Anordnungen wäre genau eine erreichbar, die übrigen kämen nie vor.
Praktisch merkt das niemand: Welche fehlen, hängt am Startwert, keine ist bevorzugt, und niemand zieht so oft. Aber „merkt niemand" ist in diesem Kurs kein Argument. Deshalb schiebt unser Mischer bei jedem einzelnen Schritt frische Bits nach, statt nur am Anfang. Damit gibt es keinen begrenzten Zustandsraum mehr — und der Satz „jede Anordnung ist gleich wahrscheinlich" stimmt wortwörtlich statt ungefähr.
Nebenbei: Im Lenormandkurs sind es 138 Bit für 36 Karten gegen dieselben 128 Bit Zustand. Auch dort ist es zu eng, nur eben knapp — und dort steht die Änderung noch aus. Das ist kein Werbesatz, sondern ein offener Punkt, und er steht hier, weil er sonst vergessen wird.
Was hier nicht passiert
- Keine Gewichtung. Keine Karte ist wahrscheinlicher als eine andere — auch nicht die schönen, auch nicht die dramatischen.
- Keine Erinnerung. Was Du gestern gezogen hast, beeinflusst heute nichts. Wir wissen es nicht einmal.
- Keine Anpassung an Deine Frage. Das Fragefeld wird nicht ausgelesen. Es steht da, weil eine aufgeschriebene Frage schärfer ist als eine gedachte — und aus keinem anderen Grund.
- Keine Übertragung. Siehe oben: Es gibt beim Mischen keine Anfrage an den Server.
- Es macht die Deutung nicht wahrer. Ein sauber gemischtes Deck ist ein sauber gemischtes Deck — über die Bedeutung der Karte sagt das nichts.
- Es ist keine Sicherheitsaussage. Für Passwörter oder Verschlüsselung wäre dieses Verfahren nicht gebaut und nicht geprüft.
- Es ersetzt kein echtes Deck. Wer Karten in der Hand halten will, soll Karten in die Hand nehmen — das hier ist die Fassung für die Gelegenheiten, in denen keines da ist.
Der Versuch ohne Bewegung
- 1Das Werkzeug öffnen und nichts tunNur draufsehen. Der Knopf ist abgeschaltet, der Balken steht auf null.
- 2Auf den Knopf klickenEs passiert nichts. Genau das ist der Punkt: Ohne Bewegung gibt es keine Karte, und das ist keine Höflichkeitsformel.
- 3Langsam wischen und den Balken ansehenEr füllt sich ungleichmäßig — schnelle Bewegungen bringen Weg, langsame bringen Ereignisse. Beides zählt.
- 4Überlegen, was Du gerade gesehen hastDer Balken ist die einzige Stelle, an der ein Kartenwerkzeug seine eigene Mechanik zeigt. Bei jedem anderen Anbieter passiert dasselbe hinter einem Knopf, ohne dass Du es siehst.
Fertig mit diesem Modul?
Mit einem kostenlosen Konto merkt sich der Kurs, wo Du stehst, und Deine Tagebuch-Einträge bleiben erhalten.
Kostenloses Konto anlegenDu kannst auch einfach weiterlesen — die Module dieser Stufe sind frei.