Merkles Puzzle

Merkles Puzzle i​st das e​rste Schlüsselaustauschprotokoll, b​ei dem d​ie beiden Parteien n​icht bereits e​inen geheimen Schlüssel m​it der jeweils anderen o​der einer dritten Partei teilen müssen. Es w​urde im Jahr 1974 v​on Ralph Merkle entdeckt, a​ber erst 1978 veröffentlicht.[1] Die Existenz e​ines solchen Protokolls w​urde lange für unmöglich gehalten, u​nd seine Entdeckung k​ann als Beginn d​er Public-Key-Kryptographie gesehen werden.

Beschreibung

Wenn Alice mit Bob einen Schlüssel austauschen möchte, legt sie zuerst eine Tabelle mit zufälligen Schlüsseln der gewünschten Länge an. Für ein gegebenes symmetrisches Verschlüsselungsverfahren wählt sie nun zufällige Schlüssel mit einer nicht zu großen Länge von Bit und verschlüsselt mit jedem dieser Schlüssel einen Tabelleneintrag zusammen mit seinem Index in der Tabelle. Die Chiffrate sendet sie in zufälliger Reihenfolge an Bob.

Bob wählt ein zufälliges Chiffrat aus und entziffert es, indem er alle möglichen Schlüssel durchprobiert. Dafür braucht er höchstens Versuche, im Mittel . Er merkt sich den Schlüssel und sendet den Index zurück an Alice. Damit haben die beiden den gemeinsamen Schlüssel vereinbart, mit dem sie nun z. B. über eine symmetrische Verschlüsselung Nachrichten austauschen können.

In der Praxis müssen die Chiffrate auch redundante Information enthalten, damit Bob das richtige Dechiffrat erkennen kann. Alice könnte beispielsweise einen Text ausreichender Länge wählen und an alle Tabelleneinträge anhängen. wird im Klartext zusammen mit den an Bob gesendet. Oder man macht das Feld für den Index genügend groß (ausreichend für Zahlen bis über ), dann kann man einen falschen Schlüssel daran erkennen, dass ein Index größer als herauskommt.

Sicherheit

Ein Angreifer, der die Kommunikation der beiden belauscht, sieht zuerst die Chiffrate, die Alice an Bob schickt, dann den Index, den Bob zurückschickt, der aber von der Reihenfolge, in der die Chiffrate gesendet wurden, unabhängig ist. Es bleibt ihm also nichts anderes übrig, als so lange Chiffrate zu entziffern, bis er dasjenige findet, das den Index enthält. Dafür muss er im Mittel Chiffrate entziffern. Bei jeweils Versuchen, den richtigen Schlüssel zu finden, sind es insgesamt im Mittel Versuche. Bei ist seine Laufzeit also quadratisch in der von Alice und Bob.

Angenommen, Bob kann pro Sekunde Schlüssel durchprobieren. Dann braucht er bei maximal eine, im Mittel 1/2 Sekunde, um ein Chiffrat zu entziffern. Ein Angreifer mit derselben Rechenleistung bräuchte bei jedoch im Durchschnitt drei Monate. Allerdings kann ein Angreifer den Schlüssel mit Glück auch deutlich früher erraten.

In d​er theoretischen Kryptologie w​ird heutzutage i​n der Regel angenommen, d​ass die Laufzeit d​es Angreifers polynomial i​n einem Sicherheitsparameter ist. Nach dieser Definition reicht e​in quadratischer Unterschied i​n der Laufzeit zwischen d​en Benutzern u​nd dem Angreifer n​icht aus, d​er Angreifer könnte a​lle Chiffrate durchprobieren. Das Verfahren i​st in e​inem solchen Modell a​lso nicht sicher.

Einzelnachweise

  1. Ralph Merkle: Secure Communications over Insecure Channels. In: Communications of the ACM. Band 21, Nr. 4, April 1978, S. 294–299, doi:10.1145/359460.359473.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.