Münzwurf via Telefon?
Alice und Bob können sich nicht einigen und wollen einen Münzwurf entscheiden lassen. Beide können ausschließlich telefonisch miteinander kommunizieren und haben kein Vertrauen ineinander. Auch steht keine dritte, unabhängige Schiedsrichterperson zur Verfügung. Wie könnte solch ein telefonischer Münzwurf aussehen?
In der Wissenschaft wird mit dem Commitment-Verfahren eine Lösung vorgeschlagen:
https://de.wikipedia.org/wiki/Commitment-Verfahren
"Eine klassische Anwendung für ein Commitment ist der Münzwurf via Telefon. Alice und Bob wollen eine Münze werfen, aber weil die beiden sich über die Telefonverbindung nicht sehen können und sich gegenseitig nicht vertrauen wollen, funktioniert das übliche Protokoll „einer sagt an, der andere wirft“ nicht. Eine mögliche Lösung wäre, dass Alice ihre Wahl einem vertrauenswürdigen Dritten mitteilt, der dann, nachdem Bob das Ergebnis mitgeteilt hat, den Gewinner bestimmt. Mit einem Bit-Commitment lässt sich das Problem ohne dritte Partei lösen, indem Alice ein Commitment auf ihre Wahl an Bob schickt. Bob kann aus dem Commitment nichts über Alices Wahl lernen, aber Alice ist nun festgelegt und kann ihre Wahl nicht nachträglich ändern. Nun wirft Bob die Münze und teilt Alice das Ergebnis mit, woraufhin Alice das Commitment öffnet."
Aber wie könnte Alice dieses "Commitment" telefonisch an Bob übermitteln und wie sähe so ein "Commitment" aus?
Welche anderen Möglichkeiten des "telefonischen Münzwurfs" gäbe es?
8 Antworten
Das Commitment funktioniert für gewöhnlich über eine kryptographische Hashfunktion, also eine Funktion die für beliebige Eingaben einen Wert fester Länge errechnet, bei der man aber durch den errechneten Wert nicht auf die Eingabe schließen kann (außer durch ausprobieren).
Alice legt sich nun fest, zum Beispiel auf Kopf. Damit Bob nicht im vorhinein testen kann, was sie gewählt hat hängt sie noch ein paar zufällige Zeichen an. Die so erhaltene Zeichenfolge (z.B. Kopf174at) wirft sie nun in eine kryptographische Hashfunktion. Den errechneten Hash teilt sie Bob mit. Jetzt kann Bob werfen, er teilt das Wurfergebnis Alice mit und sie sagt ihm, dass sie Kopf gewählt hat und ihr Hash deshalb zu Kopf174at gehört. Bob rechnet das nach und sieht, dass Alice tatsächlich Kopf gewählt hatte.
Alice entscheidet sich für eine Hashverfahren, dass Bob auch zur Verfügung steht.
Ein Hashwert ist ein errechnete Zahl, die eindeutig zu einer Zeichenfolge errechnet werden kann. Es ist nicht möglich, aus dem Hash-Wert die ursprüngliche Zeichenfolge zu bestimmen.
Beide könnten zum Beispiel einen frei verfügbaren Hashgenerator nutzen, online gibt es diesen hier https://hashgenerator.de/
Alternativ könnten sie eigene Hash-Regeln festlegen, z.B. Buchstaben in Zahlen transformieren, diese nach bestimmten Regeln mathematisch verändern (addieren, subtrahieren, potenzieren..
Alice schickt Bob dann nur den Hashwert, z.B. 1ec8c2e47a44c3bb765ae3a0f56e99f97f6e54e5.
Bob macht den Münzwurf und teilt Alice das Ergebnis mit.
Alice sagt jetzt, ich habe folgendes festgelegt: Ich wähle Kopf!
Bob ermittelt für diesen Satz den Hashwert nach dem vereinbarten Verfahren. Ist der Hashwert identisch zum vorher durchgegebenen, kann er für sich bestätigen, dass Alice sich tatsächlich auf "Kopf" festgelegt hat.
Wenn Alice nur "Kopf" oder "Zahl" zum Ermitteln des Hashwertes verwendet hätte, wäre das Verfahren nicht sicher.
Bob könnte beide Varianten ausprobieren und schauen welche Variante den von Alice übermittelten Hash-Wert ergibt.
Nichts anderes machen viele Passwortknacker, wenn Passwörter nur als Hashwert vorliegen. Für bereits irgendwann mal verwendete Passwörter gibt es riesige Tabellen mit bereits passenden Hashwerten nach den gängigen Verfahren.
Schützen kann man sich davor, wenn die Passwörter vor dem Hash einen neuen Zusatz erhalten, der so auch den Hash verändert (Salt).
Eine einfache Methode wäre es eigentlich auch, wenn beide eine Münze werfen. Anschließend sagen beide gleichzeitig ihr Ergebnis. Ist es gleich, gewinnt Person A, ist es unterschiedlich, gewinnt Person B. Müsste doch auch eine 50/50 Chance sein, nicht?
Person A wirft eine Münze, Person A und B schreiben eine SMS die um eine bestimmte Uhrzeit gesendet werden müssen. Nur wenn beide SMSen die gleiche Uhrzeit haben gilt das.
Per Skype oder Videotelefonat, wenn's live ist, kann keiner schummeln
Ich dachte halt, Videotelefonat ist auch telefonisch ...?
stand da nicht irgendwas von "nur telefonischen Kontakt" ^^