Heute stelle ich ein einfaches aber scheinbar geniales Verschlüsselungsverfahren vor. Erkennt jemand, wie man die scheinbar großartige Erfindung einfach knacken kann?

Königin Alice von Aland will ihrem Kollegen Bob von Beland eine geheime Botschaft zukommen lassen. Sie vertraut jedoch ihrem Boten nicht. Deshalb ersinnt sie folgenden Ablauf:

  1. Alice packt den Zettel mit der Nachricht in eine Kiste, die sie mit einem Vorhängeschloss verschließt. Nur sie hat den passenden Schlüssel. Die Kiste schickt sie an Bob.
  2. Bob empfängt die Kiste und verschließt sie zusätzlich mit einem zweiten Schloss. Nur er hat den passenden Schlüssel. Dann schickt er die Kiste an Alice zurück.
  3. Alice empfängt die Kiste, öffnet das erste Schloss mit dem Schlüssel und entfernt es. Anschließend schickt sie die Kiste an Bob zurück.
  4. Bob empfängt die Kiste, öffnet das zweite Schloss und entnimmt die Botschaft.

Double-Padlock-Protocol1

Auf dieses Protokoll hat mich freundlicherweise Arnim von Schwedler aufmerksam gemacht. Der Vorteil ist klar: Alice und Bob können eine Botschaft sicher übertragen, ohne sich vorher auf einen identischen Schlüssel einigen zu müssen.

Das Protokoll lässt sich auch in die digitale Welt übertragen (ich nenne es Double-Padlock-Protokoll). Dabei gehen wir davon aus, dass m eine Nachricht ist (z. B. ACHTUNG). a und b seien zufällige Buchstabenfolgen, die so lang wie die Nachricht sind (z. B. KDGENDF und QXDSUFH). a und b werden als One-Time-Pad-Schlüssel verwendet. Dies bedeutet, dass sie buchstabenweise zur Nachricht gezählt werden, wobei A=0, B=1, C=2 usw. gilt (nach 25 wird wieder bei Null angefangen zu zählen).

Banner-TV

Nun betrachten wir folgenden Ablauf (er entspricht dem obigen):

  1. Alice verschlüsselt die Nachricht m mit dem Schlüssel a. Dies notiere ich als m‘=m+a. Alice verschickt m‘ an Bob.
  2. Bob verschlüsselt m‘ mit dem Schlüssel b. Es gilt also m”=m‘+b. Diese Nachricht m” schickt er an Alice.
  3. Alice entschlüsselt m” mit dem Schlüssel a. Sie erhält m”’=m”-a. Diese Nachricht m”’ schickt sie an Bob.
  4. Bob entschlüsselt m”’ mit b. Wie man leicht nachrechnet, erhält er dadurch m.

Dieser Ablauf ist auf den ersten Blick eine revolutionäre Sache. Mit ihm können Alice und Bob eine verschlüsselte Nachricht übertragen, die ein unbefugter Mitleser nicht entschlüsseln kann, ohne sich auf einen Schlüssel einigen zu müssen. Zwar erfordert der Ablauf drei verschickte Nachrichten, doch dieser Zusatzaufwand ist geradezu minimal im Vergleich zu digitalen Zertifikaten, einer Public-Key-Infrastruktur und den sonstigen Dingen, die man in der modernen Kryptologie zur Lösung des Schlüsselaustausch-Problems verwendet.

Stehen wir in der modernen Kryptologie also vor einer Revolution? Leider nein, denn die Sache hat einen Haken. Findet ihn jemand?

Zur Veranschaulichung hier noch ein Beispiel. Wir nehmen an, dass der (unzuverlässige) Bote folgende drei Nachrichten überträgt: m‘=”THZY”, m”=”EVRB”, m”’=”ESKW”. Was kann der Bote (oder sonst ein Bösewicht, der mit ihm kooperiert) damit anfangen?

Kommentare (48)

  1. #1 Michael Eder
    6. Juli 2014

    Analog mit Kiste und Schloss funktioniert das, da Alice und Bob die beiden Schlösser parallel zueinander anbringen können.
    Digital funktioniert das leider nicht, da die letzte auf eine Nachricht angewandte Verschlüsselung als erste wieder entschlüsselt werden muss, ansonsten kommt hinten nix brauchbares mehr raus. Das kann man auch mathematischer fassen, die Erklärung sollte aber jedem einleuchten.

    Das Beispiel ist sofern ich mich erinnere aus Simon Singhs Buch “Geheime Botschaften”. Es wird auch mehr als Veranschaulichung dafür verwendet, dass es möglich ist, eine Nachricht (der Inhalt der Kiste) sicher zu übertragen, ohne dass ein Schlüssel ausgetauscht werden muss. Für Neulinge in der Kryptographie hört sich das immer ein wenig nach Rocket Science an und man kann sich das am Anfang immer schlecht vorstellen. Daher wird dieses Real World Beispiel eingeführt, um die Tatsache, dass Public Key Kryptographie funktionieren kann, dem einfachen Leser nahe zu bringen.

    • #2 Klaus Schmeh
      6. Juli 2014

      >Digital funktioniert das leider nicht, da die letzte auf eine Nachricht angewandte Verschlüsselung
      >als erste wieder entschlüsselt werden muss, ansonsten kommt hinten nix brauchbares mehr raus.
      Das ist so nicht richtig. Beim One-Time-Pad funktioniert das.

      >Das Beispiel ist sofern ich mich erinnere aus Simon Singhs Buch “Geheime Botschaften”.
      Steht es dort drin? Wusste ich nicht. Ich werde mal nachschauen.

  2. #3 cimddwc
    6. Juli 2014

    In Schritt 1 hat der Bote m+a, in Schritt 2 m+a+b, kann sich also b ausrechnen. In Schritt 3 (wo es m”’=m”-a heißen müsste) hat er m+a+b-a, also m+b, das er mit dem vorhandenen b entschlüsseln kann.

    @Michael: bei One-Time-Pads ist die Reihenfolge doch egal…

    • #4 Klaus Schmeh
      6. Juli 2014

      >wo es m”’=m”-a heißen müsste
      Danke für den Hinweis, werde ich korrigieren?

  3. #5 Michael Eder
    6. Juli 2014

    @cimddwc

    Stimmt. Im Allgemeinen geht das so aber nicht.

  4. #6 Heino
    6. Juli 2014

    Beim Entschlüsseln muss Alice vertrauen, dass tatsächlich Bob die Kiste verschlossen hat. Falls der Bote selbst sein Schloss dran gehängt hat, dann kann er selbst die Kiste öffnen.

  5. #7 Thomas
    6. Juli 2014

    Ganz einfach. Der Bote nimmt einfach sein eigenes Schloss, hängt es an, und bringt es zu Alice zurück. Alica glaubt an eine Verschlüsselung von Bob, gibt den eigenen Schlüssel mit, und die Kiste ist für den Bote ganz einfach zu öffnen.

    • #8 Klaus Schmeh
      6. Juli 2014

      Stimmt, das ist eine Spoofing- oder Man-in-the-Middle-Attacke. Das war zwar nicht der von mir gedachte Angriff, aber es funktioniert auch.

  6. #9 Lercherl
    6. Juli 2014

    3. Alice entschlüsselt m” mit dem Schlüssel a. Sie erhält m”’=m”-b. Diese Nachricht m”’ schickt sie an Bob.

    Sollte das nicht m”’ = m” – a heißen?

    Der Bote rechnet aus:

    a = m”’ – m”
    m = m’ – a = m’ + m” – m”’

    Bei mir kommt TKHD heraus, wenn ich mich nicht wo verrechnet habe.

    • #10 Klaus Schmeh
      6. Juli 2014

      >Sollte das nicht m”’ = m” – a heißen?
      Doch, habe ich inzwischen korrigiert.

  7. #11 Helmut
    6. Juli 2014

    Das Problem liegt bei Alice, die ein “One-Time-Pad” zweimal verwendet. Da kann sie das ‘geheime’ Pad auch öffentlich hinausposaunen, oder?

    (Die Graphik verwirrt mich etwas, Alice schickt die Kiste mit Bobs Schloss?)

    • #12 Klaus Schmeh
      6. Juli 2014

      >Die Graphik verwirrt mich etwas, Alice schickt die Kiste mit Bobs Schloss?)
      Das ist leider richtig (bzw. die Grafik ist falsch). Wird gleich korrigiert.

  8. #13 Phil
    6. Juli 2014

    Ich habe auch sofort an MITM gedacht. Niemand prüft, ob das Schloss wirklich von Bob ist.

  9. #14 Klaus Schmeh
    6. Juli 2014

    Ich habe an die Idee von Lercherl bzw. cimddwc gedacht. Die Idee von Helmut (in #11) läuft wohl auf das gleiche hinaus.

    @Lercherl:
    >Bei mir kommt TKHD heraus, wenn ich
    >mich nicht wo verrechnet habe.
    Ich dacht an ein anderes Ergebnis für m. Ich hoffe, meine Angaben stimmern.

  10. #15 Helmut
    6. Juli 2014

    Bob posaunt seinen Schlüssel ebenfalls hinaus…

  11. #16 Chemiker
    6. Juli 2014

    Ich habe sofort das MitM-Problem gesehen. Das kann man aber lösen, wenn Bob sein Schloß so signieren kann, daß Alice die Authentizität überprüfen kann (Siegellack).

    Ein echtes Problem sehe ich jedoch darin, daß man den Schlüssel a aus der Differenz von m”’ und m” rekonstruieren kann (mit diesem Ansatz finde ich den Klartext TEST). Wie man das beheben kann, ist mir nicht klar.

    Damit die Methode funktioniert, müssen die Verschlüsselungs­methoden kom­mutie­ren, d.h., m+a+b–a–b müssen wieder m ergeben. Das ist eine schwere Ein­schrän­kung. Ver­mut­lich kann man es des­halb nicht abdichten.

    • #17 Klaus Schmeh
      6. Juli 2014

      >Ein echtes Problem sehe ich jedoch darin, daß man den Schlüssel a
      >aus der Differenz von m”’ und m” rekonstruieren kann
      Stimmt.

      >Damit die Methode funktioniert, müssen die Verschlüsselungs­methoden kom­mutie­ren
      Das ist richtig, drum kommt beispielsweise der AES als Ersatz für den OTP nicht infrage.

      Der Klartext ist tatsächlich TEST.

  12. #18 hugo
    6. Juli 2014

    Hm. Das Problem dieser Methode ist, dass die One-Time-Pad-Verschlüsselung anfällig ist für Known-Plaintext-Attacken (aus verschlüsseltem Text und dazugehörigem Klartext kann man den Schlüssel berechnen). Nun hat aber z.B. AES meines Wissens nach diese Schwäche nicht. Aber AES ist hier auch nicht anwendbar, weil es nicht kommutativ ist (erst Verschlüsselung durch Bob dann Entschlüsselung durch Alice liefert nicht dasselbe wie erst Entschlüsselung durch Alice und dann Verschlüsselung durch Bob).
    Gibt es kommutative Verschlüsselungsverfahren, die nicht anfällig sind für Known-Plaintext-Attacken? Oder ist sowas unmöglich?

  13. #19 Helmut
    6. Juli 2014

    für einen Buschstaben:
    Schritt1) x + x’ =y (der Bote kennt y)
    2) y+y’=z (der Bote kennt y und z und kann y’ berechnen)
    3) z+x’=w (der Bote kann x’ berechnen aus z und w)

  14. #20 K S
    6. Juli 2014

    Das Verfahren ist auch für einen logisch denkenden Schüler der Mittelstufe schnell zu knacken:

    Alice hat die Nachricht m und rechnet ihren Schlüssel a dazu.
    m’ := m+a
    Nun übermittelt sie die Nachricht m’ an Bob.

    Bob rechnet wiederum seinen Schlüssel b dazu.
    m” := m’ + b = m+a+b
    und antwortet Alice mit m”.
    Der Bote, der nun beide Nachrichten abgefangen haben könnte, kennt nun sowohl m’ = m+a sowie m” = m+a+b

    Da die Verschlüsselung mit One-Time-Pads auf einer polyalphabetischen Verschlüsselung basiert und diese im Endeffekt wieder auf dem Prinzip von Zahl-Verschiebungen, werden nur Additionen von ganzen Zahlen verwendet.
    Diese Berechnungen sind mit ganzen Zahlen kommutativ. a+(-b) = (-b)+a.

    Deshalb kann der Angreifer folgendes rechnen:
    m” + (-m’) = m+a+b + (-(m+a)) = b
    Damit kennt er Bobs geheimen Schlüssel.

    Alice entfernt im letzten Schritt ihren Schlüssel a wieder von der Nachricht m”.
    m”’ := m”+ (-a) = m+a+b-a = m+b
    Diese sendet sie schließlich an Bob.

    Kann der Angreifer auch diese Nachricht abfangen muss er von dieser nur den errechneten Schlüssel b abziehen und hat die originale Nachricht m.
    m = m”’ + (-b) = m+b – b = m

    Viele Grüße
    kryptopolis

  15. #21 DeLuRo
    6. Juli 2014

    Meiner Meinung nach kam von #3 cimddwc und #9 Lecherl schon die richtige Lösung. Das war aber auch relativ einfach, da es nur um Addition und Subtraktion ging. Der Man-in-the-middle-Angriff mit einer Fälschung geht offenbar auch, solange sich A und B ihre Nachrichten nicht auch noch authorisieren lassen (da beißt sich die Katze in den Schwanz).

    Allgemeiner gesagt muss eine Nachricht für den beschriebenen Zweck wieder dekodierbar sein, d.h. mathematisch ausgedrückt, der Verschlüsselungsoperator muss invertierbar sein. Und nebenbei müssen Werte- und Bildbereich bijektiv abgebildet werden; in diesem Beispiel ist es dieselbe Grundmenge. Bei einer doppelten Verschlüsselung und Vertauschung von Ver- und Entschlüsselungsoperatoren ist das auch notwendig, und die Operatoren müssen diesbezüglich kommutativ sein (sonst passiert das, was M. Eder meinte).

    Ist damit nun noch irgend eine Verschlüsselung mit einem vielleicht etwas komplizierteren Operator denkbar, mit dem die Verschlüsselung noch sicher funktionieren würde (vom Mann in der Mitte abgesehen)? – Oder impliziert die Kommutativität, dass der Operator immer zu knacken ist?

  16. #22 Klaus Schmeh
    7. Juli 2014

    Danke für die vielen Kommentare.
    >Meiner Meinung nach kam von #3 cimddwc
    >und #9 Lecherl schon die richtige Lösung.
    Das sehe ich auch so. Die Idee mit der Man-in-the-Middle-Attacke ist auch nicht schlecht. Letztere ist schwer zu vermeiden. Der erstgenannte Angriff ließe sich mit einem kommutativen Verfahren vermeiden, das keine Known-Plaintext-Attacke zulässt. Meines Wissens ist so etwas nicht bekannt. Es gibt aber vermutlich keinen Preis dafür, dass so etwas nicht existiert.

  17. #23 Lars v.
    7. Juli 2014

    Wenn man die Kiste in eine andere Kiste mit jeweils einem schloss stellt ist sie nicht mehr kommutativ od? Irre mich schon länger her wo ich mich damit beschäftigt habe.

  18. #24 Peter G. Bouillon
    Lüdinghausen
    7. Juli 2014

    Was ist bei dem elaboraten Verfahren der Sinn? Ich gehe mal davon aus, dass Alice ihre eigene Nachricht schon kennt. 🙂

    1. Alice hat also eine Nachricht – sie sei “Alice” – und steckt sie in einen Kasten – das gibt “[Alice]” – und schließt den Kasten ab – das gibt “+[Alice]”. Das Ganze geht an Bob, der jetzt einen verschlossenen Kasten mit unbekanntem Inhalt hat, den Bob nicht öffnen kann.

    2. Bob verschließt den Kasten mit einem zweiten Schloss – das gibt “+[Alice]*” – und schickt das Ganze an Alice zurück.

    3. Jetzt ist Alice im Besitz eines doppelt verschlossenen Kastens, wovon sie ihr eigenes Schloss wieder entfernt – das gibt “[Alice]*”

    Oder anders gesagt, das gibt einen Kasten mit einer Botschaft, die Alice längst kennt, verschlossen mit einem Schloss, das Alice nicht öffnen kann, unter Aufwendung von doppeltem Paketporto.

    Was soll das? Ist das eine Kunst-Aktion? Kommunikation kann so jedenfalls nicht zustande kommen.

  19. #25 b@tchman
    7. Juli 2014

    Also (Textbook-)RSA über dem gleichen Moduln ist kommutativ. Ok, wenn Alice und Bob beide auch die Faktorisierung dieser Zahl kennen, dann können sie auch den jeweils anderen private-key berechnen. Und sie müssten sich vorher auf diesen Modul geeinigt haben, aber es geht mir nur um ein Beispiel für ein kommutatives Chiffre, das nicht Known-Plaintext Anfällig ist.

  20. #26 Peter G. Bouillon
    Lüdinghausen
    7. Juli 2014

    Was Alice braucht, ist ein offenes Schnappschloss, wozu nur _Bob_ den Schlüssel hat (aber Alice nicht).

    1. Alice packt ihre Botschaft in einen Kasten – das gibt “[Alice]” -, hängt Bobs Vorhängeschloss dran und schnappt es zu – das gibt “[Alice]*”.

    2. Jetzt kann Alice den Kasten zwar nicht mehr öffnen, aber das ist egal, weil sie ihre eigene Botschaft ja schon kennt. 🙂

    3. Wenn sie das Ganze jetzt aber zur Post gibt, ist der Kasten vor neugierigen Postboten gut geschützt, und am anderen Ende kann Bob trotzdem den Kasten öffnen – das gibt “[Alice]” – und die darin enthaltene Botschaft von Alice lesen.

    Der Clou ist also die Konstruktion eines Schnappschlosses: Jeder kann es zudrücken, aber nur der Besitzer kann es aufschließen. Für den Paketversand muss der Kasten mit einem Schloss gesichert werden, das dem _Empfänger_ und nicht dem Absender gehört. ––

    Bobs Schloss zunächst mal sicher zu Alice zu schaffen, damit sie es für den Versand einsetzen kann, das ist natürlich ein Problem für sich. Alice muss sich schließlich ganz sicher sein, wirklich _Bobs_ Schloss in der Hand zu haben. Wenn der Paketbote ihr sein eigenes Schloss unterschieben kann, das Alice für Bobs Schloss hält und damit ihren Kasten sichert, kann der Paketbote Alices Botschaft bequem entpacken und lesen (Man-in-the-middle-Angriff).

  21. #27 Sepp
    7. Juli 2014

    @Peter G. Bouillon: Du hast das beschriebene Verfahren falsch verstanden, bzw. den letzten Schritt übersehen. Nachdem Bob die doppelt verschlossene Truhe an Alice geschickt hat, entfernt diese *ihr* eigenes Schloss und schickt die Kiste dann erneut an Bob. Damit ist die Kiste nur noch mit Bobs Schloss verschlossen und er kann sie öffnen. Schau dir einfach noch einmal das Diagramm im Text an.

  22. #28 DeLuRo
    7. Juli 2014

    @Peter G. Bouillon: Das mittelalterliche Verfahren um Alice und Bob war der Ausgangspunkt, und es ging, glaube ich, darum dies in einem äquivalenten modernen Verfahren zu formulieren und zu untersuchen, wo die Schwachstellen sind. Wie Sepp schon schrieb, die eigentliche Leistung von Alice beim zweiten Schicken ihrer Bob-verschlüsselten Nachricht war die Befreiung Bobs von ihrem eigenen Schloss. Im Ausgangsszenario ging das eben nicht amders.

    Das Szenario mit dem Schnappschloss ist eine ganz neue Variante, bei der man überlegen müsste, wo das modern formulierte Äquivalent steckt. Technisch gesehen verschließt sich ein Schnappschloss, indem es die Notwendigkeit eines Schlüssel zum Abschließen umgeht. Entsprechend könnte man sich ein Verschlüsselungsverfahren denken, dass den Schlüssel implizit enthält, ohne dass man ihn auf irgend eine Weise in Erfahrung bringen kann. Das dazu inverse Entschlüsselungsverfahren darf dagegen den Schlüssel explizit angegeben bekommen.

  23. #29 joe
    Berlin
    7. Juli 2014

    Es handelt sich um eine Geheimtext – Geheimtext komprimitierung.
    Ich chiffriere den Klartext mit drei unterschiedlichen Schlüsseln
    und ermögliche dem Angreifer nicht nur den Klartext zu ermitteln sondern auch gleich die Schlüssel.
    In den Studienmaterialien aus dem Jahr 1964 kann man die Durchführung diese Angriffes nachlesn und Praktisch durchführen. (https://scz.bplaced.net/studienmaterial.html).
    Es ist übrigens das gleiche Verfahren wenn ich unterschiedliche Klartexte mit ein und demselben Schlüssel chiffriere!

    Jörg

  24. #30 Carsten Milkau
    Halle (Saale)
    7. Juli 2014

    Das “Schnappschloss” nennt man Public Key Encryption Scheme.

  25. #31 Jule
    8. Juli 2014

    Ich bin mathematisch nicht die große Expertin, deswegen bin ich unsicher mit meinen Bedenken. Trotzdem: Kann es sein, dass die Analogie falsch ist?
    Bei der “Originalkiste” gibt das Schloss keinerlei Hinweis auf den Inhalt. In der Kiste kann ein Text beliebiger Länge, ein Bild, ein Gegenstand sein.
    Die Umsetzung aber lässt die Kiste weg. Da ist der Schlüssel in der Struktur mit der Nachricht identisch. Er vermittelt also Informationen über die Nachricht.
    Deshalb funktioniert das Original (den MITM mal weggelassen) aber die vereinfachte Umsetzung eben nicht.

  26. #32 b@tchman
    9. Juli 2014

    @Jule

    Leider nein, es liegt nicht daran, dass man in eine Kiste alles Packen kann. In eine Bit-Folge lässt sich (zumindest auf einem Computer) auch alles packen, und der Schlüssel ist auch eine Bit-Folge. Der Hinweis mit “Schlüssel-Länge = Nachrichten-Länge” soll eigentlich bedeuten: “Nimm ein One-Time-Pad o.ä.” also eine Verschlüsselung, die für sich alleine genommen wirklich (mathematisch beweisbar) sicher ist. Der Schlüssel könnte auch länger als die Nachricht sein, dann würden aber Teile des Schlüssels nicht benutzt.

    Dieses Protokoll ist ein klassisches Beispiel dafür, dass man auch aus wirklich guten kryptologischen Primitiven (wie hier One-Time-Pad) ein schlechtes Protokoll bauen kann.

  27. #33 Andi
    Freiburg
    10. Juli 2014

    @Jule und @b@tchman

    Also ich denke Jule hat da schon recht. Also ich tu mir bei der Analogie auch sehr schwer. Hab ich eine Holzkiste mit einem Schloss in den Fingern und später dann die gleiche Kiste mit zwei Schlössern verschlossen in der Hand, dann kann ich mir daraus sicherlich nicht einen Schlüssel für das zweite Schloss schnitzen!

    Das ist selbstverständlich was anderes wenn die Kiste und damit identisch die Nachricht eine Bit-Folge ist die wiederum mit einer Bit-Folge “verschlossen” wird.

  28. #34 Jule
    10. Juli 2014

    @Andi
    Danke für die Ermutigung.
    Die spannende Frage ist für mich: warum funktioniert die reale Kiste, aber das virtuell angeblich gleichwertige Protokoll nicht?
    Ich formuliere meine Überlegungen anders:
    Der Satz von Klaus “Das Protokoll lässt sich auch in die digitale Welt übertragen” ist insofern unrichtig, als das ursprüngliche Protokoll in der folgenden Beschreibung eben nicht korrekt in die digitale Welt übertragen wird.
    Bei der Kiste wird der Zugang zur Nachricht “verschlüsselt”, während das sog. “Double-Padlock-Protokoll” die Nachricht selbst verschlüsselt. Das ist m.E. ein großer struktureller Unterschied. So groß, dass das was im realen Leben funktioniert in der Umsetzung eben nicht funktioniert (wie sich ja leicht beweisen ließ).
    Eine zutreffende Analogie in der virtuellen Welt müsste sich also auch auf die Limitierung des Zugangs zu der Information beziehen und nicht auf die Verschlüsselung der Information selbst. Dabei müsste natürlich auch beachtet werden, dass die Information im Ausgangsmodell durch einen physischen Mechanismus geschützt wird. Das lässt sich aber in der Computerwelt, wo alles nur Bits sind (worauf b@tchman richtig hingewiesen hat), gar nicht realisieren. Denn dort kann ich Information nur mit Information sichern und nicht mit irgendetwas anderem.
    Meine Folgerung: die Ausgangsbehauptung ist falsch, denn die relevanten Faktoren der historischen Methode lassen sich eben nicht in die virtuelle Welt übertragen. Übrig bleibt eine Scheinanalogie, die nicht funktional ist, weil sie die funktionalen Elemente der Ausgangssituation nicht nachbilden kann.
    Doch ich finde es auch irgendwie beruhigend, dass man nicht für alles in der physischen Welt qualitativ gleichwertige virtuelle Entsprechungen erzeugen kann.

    • #35 Klaus Schmeh
      10. Juli 2014

      >Bei der Kiste wird der Zugang zur Nachricht “verschlüsselt”, während das sog. “Double-Padlock-Protokoll” die Nachricht selbst verschlüsselt.
      Man kann auch sagen: Verschlüsseln und “in eine Kiste stecken” sind zwei unterschiedliche Dinge. Es handelt sich eher um einen Vergleich. Ein Lehrer von mir hat einmal gesagt: “Jeder Vergleich hinkt. Ein Vergleich, der nicht hinkt, ist kein Vergleich, sondern das Gleiche.”

  29. #36 Nils Kopal
    Kassel
    10. Juli 2014

    Hallo,
    das oben beschriebene “Reale-Welt-Protokoll”ist ein anschauliches Beispiel, welches Diffie und Hellmann dazu bewegt hat, die asymmetrische Kryptographie zu “erfinden”.

    Das mathematische Modell zu diesem Protokoll wurde 1980 als das Shamir-No-Key-Prokoll bzw später als das Massey-Omura-Kryptosystem bekannt. Siehe dazu auch: https://en.wikipedia.org/wiki/Three-pass_protocol. Es funktioniert also wirklich, allerdings nicht mit symmetrischen Verfahren sondern mit mathematischen Funktionen, welche auch gleichzeitig die Grundlagen für die moderne asymmetrische Kryptrographie sind (Potenzieren und Diskreter Logarithmus) 🙂

    Die Verwendung von symmetrischer Kryptographie funktioniert in der Regel nicht, da symmetrische Kryptoverfahren nicht kommutativ sind. Eine alternative Implementierung (aber auch unsicher) wäre die Nutzung von klassischer Substitution + Transposition.

    Alice — Subst(Key1, Nachricht)—> BoB
    Bob — Transp(Key2,Subst(Key1,Nachricht)) — > Alice
    Alice — Subst^-1(Key1,Transp(Key2,Subst(Key1,Nachricht)) = Transp(Key2,Nachricht) —> Bob
    Bob macht am Ende: Transp^-1(Key2,Transp(Key2,Nachricht)) = Nachricht

    Warum funktioniert das?
    Das Ganze funktioniert, da die klassische monoalphabetische Substitution positionsunabhängig ist, und daher von der Spaltentransposition nicht “kaputt” gemacht werden kann. Nutzt man bessere Substitutionsverfahren, z.B. Vigenere, würde die Transpo den Vigenere “kaputt” machen.

    Natürlich ist das Ganze unsicher, da eine einfache monoalphabetische Substitution sehr einfach zu brechen ist. Daher muss ein Angreifer nur die erste Nachricht angreifen, um den Inhalt zu erhalten. Aber dieses Verfahren reicht zumindest aus, um Nachrichten vor der kleinen Schwester zu schützen 😉

    Viele Grüße aus Kassel 🙂
    Nils

    • #37 Klaus Schmeh
      10. Juli 2014

      Danke für den Hinweis. Das Three-Pass-Protokoll kannte ich noch nicht. Wieder was gelernt.

  30. #38 Jule
    11. Juli 2014

    @Klaus
    “Nicht alles, was hinkt, ist ein Vergleich.” 😉
    Vermutlich sind meine Ansprüche, welche Voraussetzungen gegeben sein müssen, damit man zulässigerweise von einer Analogie sprechen kann, überzogen.
    Ich kann zugegebenermaßen hier nicht unterscheiden, wo Präzision gefordert ist, und wo man einfach mal locker drüberbügelt.

    Doch ich habe mit der Aufgabe noch ein anders Problem:
    die Aufgabenstellung setzt ganz selbstverständlich einen optimal informierten Angreifer voraus. Der Angreifer ist nicht nur über den Prozess des Nachrichtenverlaufs informiert, er ist auch in alle Teilprozesse eingebunden und er kann sie sogar bei den zeitlich versetzen Transporten auch als die jedesmal im Kern identische erkennen. Diese drei Voraussetzungen finde ich eher unrealistisch, aber sie sind offensichtlich “gesetzt”, denn sonst wäre die Verschlüsselung funktional.
    Wenn ich eine dieser Annahmen kippe, bzw aushebele, in dem ich zB mehrere voneinander nichts wissende Boten nehme, oder annehme, dass der Bote nicht das geniale Wissen hat, dass die hin und her laufenden Nachrichten eigentlich die selbe sind. Dann wäre die Verschlüsselung mE (natürlich abhängig von der Qualität des einzelnen Schlosses) sogar sicher, weil praktisch niemand alle Informationen haben kann, die zur Lösung erforderlich sind.
    Lässt sich also formlieren:
    – wenn der Angreifer über die Struktur der Verschlüsselung informiert ist (oder sie zumindest vermuten kann)
    – und er an allen drei Übermitlungsvorgängen beteiligt ist
    – und er die Fähigkeit hat drei voneinander unabhängige Nachrichten als zusammengehörig zu erkennen,
    dann ist die Methode unsicher?
    Umgekehrt formuliert: wenn eine der drei Voraussetzungen fehlt, dann ist die Methode sicher?

    • #39 Klaus Schmeh
      12. Juli 2014

      >setzt ganz selbstverständlich einen optimal informierten Angreifer voraus
      Das ist in der Kryptologie so üblich und (wie Peter Bouillon bereits gesagt hat) absolut sinnvoll. Krypto-Protokolle wie SSL oder IPsec sind genau spezifiziert, der Angreifer weiß also, was abläuft. Es kann zwar passieren, dass nicht alle Nachrichten über die gleichen Router gehen, aber darauf sollte man sich nicht verlassen.

  31. #40 Peter G. Bouillon
    Lüdinghausen
    11. Juli 2014

    @Jule:
    Die Annahme eines „optimal informierten Angreifers” ist m.E. zwingend. Ich möchte nämlich die Sicherheit eines Verschlüsselungsverfahrens nicht davon abhängig machen, was ein Angreifer möglicherweise doch über die Übertragungs- und Verschlüsselungsdetails in Erfahrung bringt.

    Wir leben in einem Zeitalter, in dem die NSA nahezu den gesamten Datenverkehr auf dem Internet abhört und nennenswerte Teile davon auch abspeichert. Die Heuristiken sind bereits _da_, mit denen man erkennen bzw. ziemlich sicher vermuten kann, welche Botschaften zwischen welchen Personen zusammengehören. Heutzutage sollte man also nicht darauf wetten, dass der Angreifer in den Prozess der Nachrichtenübertragung und seine Teilprozesse nicht eingeweiht ist.

    Gut übrigens, dass Merkel letztlich die einzig wirksame Maßnahme entdeckt hat, mit der die Abhörtätigkeiten der NSA in Deutschland sicher gestoppt werden: das Ausweisen des CIA-Statthalters (also eines im Wesentlichen für Öffentlichkeitsarbeit Zuständigen eines anderen Geheimdienstes). Wenn der erst mal vor der Tür steht, ist die NSA in Deutschland in jeder Hinsicht handlungsunfähig, und Obama wird tief beeindruckt und gedemütigt dem No-Spy-Abkommen zustimmen. Helau!

  32. #41 hubert taber
    11. Juli 2014

    noch zu # 36 und # 37:
    es ist nicht vorstellbar, dass der anerkannte kryptologe Klaus Schmeh von einem dahergelaufenen, der wikipedia-nonsens rezitiert, etwas lernen könnte.

    noch zu alice und bob :
    alice und bob könnten auch überlichtschnell kommunizieren.
    da dies laut unseren forrest gump-physikern angeblich unmöglich ist, könnte also niemand “mithören”.

    es ist aber BEWIESEN anders !
    siehe :
    https://science.orf.at/stories/1687300
    und
    https://cdvolko.blogspot.co.at/2013/10/einstein-widerlegt.html

    soviel zu unseren forrest gump-physikern und jenen grenzdebilen, die im wikipedia wirres und widerlegbares zeug eintragen, also nonsens.

    mfg. hubert taber

    • #42 Klaus Schmeh
      11. Juli 2014

      Lieber Herr Taber,
      ich muss Sie jetzt leider bitten, sachlich zu bleiben, ansonsten muss ich Sie leider sperren. Im Übrigen ist Nils Kopal kein “Dahergelaufener”, sondern jemand, der eine Menge von Kryptologie versteht.

  33. #43 hubert taber
    12. Juli 2014

    gelöscht

    • #44 Klaus Schmeh
      12. Juli 2014

      Gut, das war’s dann. Ich bin nicht bereit, Ihre Beiträge hier weiter zu veröffentlichen.

  34. #45 DeLuRo
    12. Juli 2014

    @Jule, @P.G. Bouillon:
    Sicherheit in der Kryptografie beruht nach heute üblichen Annahmen nie darauf, dass ein Verfahren unbekannt wäre, sondern sie beruht stets ausschließlich darauf, dass der oder die Schlüssel geheim sind und geheim bleiben (und eben ggfs. geheim an notwendige Empfänger weitergegeben werden). Im Gegenteil, zur Verbreitung und sicheren Implementierung von Verfahren ist es sogar notwendig, diese gut zu dokumentieren und zu veröffentlichen, und ihre möglichen Schwachstellen zu diskutieren. Ein Verfahren, dass durch Veröffentlichung unbrauchbar würde, ist dann im Vorfeld schon ungeeignet. Das bedeutet aber übrigens auch, dass Verfahren und Schlüssel immer als voneinander getrennte Einheiten erkennbar sein müssen; im Verfahren “eingebaute” Schlüssel würden das nicht erfüllen.

  35. #46 Oberclown
    14. Juli 2014

    @Jule So furchtbar abwegig sind die Annahmen für den Informierten Angreifer nicht.

    Die schwierigste davon ist, dass der Angreifer von allen Nachrichten eine Kopie bekommt. Das ist aber, insbesondere in der heutigen Zeit durchaus machbar.

    Das Verfahren kennt jemand, der alle Nachrichten abfängt. Alice und Bob müssen sch ja über das Verfahren einigen. Da zu diesem Zeitpunkt noch kein verschlüsselter Kanal zur Verfügung steht, müssen Sie das auf einem unsicheren Kanal tun. Man könnte jetzt einwenden, dass man sich ja persönlich treffen kann, um sich auf das Verfahren zu einigen. Das macht das Verfahren aber sinnlos. Der Sinn des Verfahrens ist ja ein persönliches Treffen zu vermeiden, indem man sich nicht auf einen gemeinsamen Schlüssel einigen muss. Wenn man sich persönlich treffen muss sollte man Schlüssel austauschen und One Time Pad nutzen. Das macht wenig Rechenarbeit und ist sicher. Daraus folgt, wenn jemand überwacht wird und dieses Verfahren benutzt ist demjenigen, der überwacht auch bekannt, welches Verfahren für die Verschlüsselung genutzt wird.

    DIe im Kern gleichen Nachrichten erkennen ist nicht so furchtbar kompliziert, wie es sich anhört. Im schlimmsten Fall wird schlampig verschlüsselt, es werden also nicht die Nachrichten vor der Verschlüsselung mit leerzeichen oder etwas ähnlichem verlängert, sondern tatsächlich nur die Nachrichten verschlüsselt, dann erkennt man es simpel daran, dass die 3 zusammengehörenden Texte gleich lang sind gleich lang sind.
    Außerdem sind die einzelnen Schlüssel ja laut Voraussetzung One-Time-Pads, das bedeutet, die müssen entweder in genau dieser Reihenfolge verschickt werden, ohne andere damit verschlüsselte Nachrichten dazwischen, oder die Nachrichten müssen irgendwie als zusammengehörend markiert sein und zwar auf eine Art und Weise, für die man nicht den Schlüssel der gegenseite kennen muss.

    Weil nehmen wir an, dass Alice 2 Nachrichten an bob verschickt, dann wird die erste Nachricht mit dem Schlüssel a1 verschlüsselt, die zweite mit dem Schlüssel a2, Wenn die verschlüsselten Nachrichten in umgekehrter Reihenfolge von Bob zurückkommen, versucht Alice von der Nachricht, die mit a2 verschlüsselt wurde den Schlüssel a1 zu entfernen und umgekehrt. Es kommt bei Bob also etwas unleserliches an.

    Da also Bob und Alice sicher stellen müssen, dass immer von vornherein klar ist, welche Nachricht zu welcher gehört, damit das Verfahren funktionieren kann, ist das auch jemandem klar, der die Nachrichten heimlich mitliest.

  36. #47 LArc
    13. Oktober 2014

    Der “Mittelsmann”-Angriff kann umgangen werden. Dazu müsste der Bote beiden beweisen, dass er bei jedem Schritt BEIDE Schlüssel nicht kennt. 🙂

    Die Parteien V und E währenddessen erzeugen “One-Time-Pads” (mindestens drei Transaktionen wären notwendig). Währenddessen STEIGT (!) der Wahrheitsgehalt der Nachricht; das heisst, um so mehr Transaktionen stattfinden, desto mehr von dem tatsächlichen Klartext wird per Schritt mitgeschickt; jedoch nie die gleichen Teile.

    Während in dem einzigen mir bekannten Zero-Knowledge-Proof verfahren von Fiat-Shamir (und sorry Leute, aber ich habe weder Mathematik noch irgendwelchen kryptografischen Teilgebiete studiert; ich mache das alles aus dem Bauch raus haha) eine vertrauenswürdige, dritte Partei existieren muss, so dreht man das Prinzip um; der Bote soll beweisen, dass er NICHTS weiss. 🙂

    Hmmmm, wie soll ich das erklären?

    Das Problem des Reisenden, der den lügenden, bzw. nicht-lügenden Bruder an der Wegegabelung trifft. Wisst Ihr welche Frage er da nur zu stellen braucht und zwar EGAL welchem Bruder? 🙂

    “Wenn ich den rechten Weg wähle, komme ich ans Ziel und wieder hierher zurück?” (denke daran, die Welt ist keine Scheibe 😉 )

    Das wars. 😉

  37. #48 Arnim von Schwedler
    Meerbusch und Brüssel
    12. Dezember 2016

    Wo Klaus Schmeh Oberförster ist, bin ich doch nur Wilderer. Die Geschichte aus dem alten Rom hatte damals die Bedeutung, dass einige Politiker und andere wenige Leistungsträger, die die Technik nicht kannten, nicht zugaben, dass sie keine Ahnung hatten. Also mußte ich eine Geschichte erzählen, die sie verstanden und die sie weiter kommunizieren konnten.