Begriffsklärung

DAS COMMITMENT

Die Bedeutung von Commitment ist laut Duden „das [Sich]bekennen, [Sich]verpflichten“ [1] und genau das ist es, was hier benötigt wird. Wenn Bob sich auf eine Zahl festlegt, muss dieses Festlegen verbindlich sein. Ebenso, wenn er bei SSP den Stein wählt, darf er sich nicht mehr umentscheiden, wenn er erfahren hat, dass Alice Papier gewählt hatte. Ein Commitment muss also bindend (binding) sein. [2]

Um ein faires Spiel zu gewährleisten, braucht das Commitment noch eine weitere Eigenschaft: Da ein gleichzeitiges abgeben beider Commitments nicht möglich ist, wird es immer so sein, dass einer der Parteien sein Commitment zuerst abgegeben hat. In diesem Fall muss gewährleistet sein, dass die andere Partei den Inhalt des Commitments nicht kennen kann. Der Inhalt muss also bis zum Aufdecken versteckt bleiben (hiding). [2]

Zuletzt gibt es noch eine Anforderung an das Protokoll selbst: Das Commitment, welches aus der Nachricht m erstellt wurde, sollte sowohl durch Sender, Empfänger als auch eine dritte Partei wieder in die Nachricht m zurückverwandelt werden können, wenn alle Parameter bekannt sind und das Protokoll korrekt ausgeführt wird (viability). [2]

PROTOKOLL

Die hier vorgestellten Protokolle bestehen meist aus drei Phasen, alle aber aus mindestens zwei:

  1. Setup: Beide oder eine der Parteien treffen die nötigen Vorbereitungen (z.B. wählen Zufalls- oder Primzahlen, erstellen Generatoren etc.). Nicht alle Commitment Verfahren benötigen ein Setup (siehe Commitment mit Hash-Funktionen)
  2. Committen: Die Seite A erstellt aus der Nachricht ein Commitment und sendet dieses an die Seite B.
  3. Aufdecken: Seite B bekommt von Seite A die nötigen Informationen, um das Commitment aufzudecken.

HIDING UND BINDING

Folgende Begriffe werden in den nächsten Kapiteln auftauchen, hier sollen sie kurz definiert werden:

  • computational hiding und computational binding: Hiding und Binding basieren auf einem mathematischen Problem, welches sehr viel Rechenzeit benötigt, um gelöst zu werden. [2]
  • unconditional hiding und unconditional binding: Hiding und Binding basieren auf einem mathematischen Problem, das selbst mit unendlicher Rechenpower nicht gelöst werden kann. [2]