Hallo, soweit ich im Bilde bin, ist die Verschlüsselung mittels OTP so ziemlich das sicherste, was man überhaupt machen kann, jedoch gibt es das Problem, dass der Schlüssel zum einen auf beiden Seiten bekannt sein muss, und zum anderen nur einmal verwendet werden kann. Nun stelle ich mir die Frage, wie man das Problem lösen kann, einen neuen sicheren Schlüssel zu übergeben. Wenn der erste Schlüsselsatz zwischen dem Empfänger und dem Sender bekannt sind, dann kann genau eine Botschaft verschlüsselt zwischen den beiden Stellen ausgetauscht werden, genau einmal. Danach darf der alte Schlüssel nicht nochmal verwendet werden. Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste Nachricht verwendet wird? Die Entschlüsselte Botschaft kennen ja erneut nur die beiden an der Kommunikation beteiligten Parteien und so würde die eigentliche Nachricht der Schlüssel für die jeweils nächste Verschlüsselungsstufe werden. Ist dies dann immer noch per stochastischer Analyse zu knacken, nachdem man mehrere Übertragungen mit gelauscht hat?
:
Verschoben durch User
Beachte known-Plaintext-Attacken. Wenn ich weiss oder annehme, dass deine N-te Nachricht "OK, bis gleich" war, weil Du so was gelegentlich schreibst, dann kann ich sofort die (N+1)-te Nachricht und alle folgenden entschluesseln.
Konrad schrieb: > Beachte known-Plaintext-Attacken. Wenn ich weiss oder annehme, > dass > deine N-te Nachricht "OK, bis gleich" war, weil Du so was gelegentlich > schreibst, dann kann ich sofort die (N+1)-te Nachricht und alle > folgenden entschluesseln. Es war die Rede davon, das jedes OTP nur einmal genutzt wird. Damit entfällt diese Möglichkeit
1. Ein Schlüssel aus Text ist nicht statistisch gleichmäßig verteilt und nutzt nur ein Bruchteil der möglichen Codes. 2. Sobald du einen OTP Schlüssel wie auch immer elektronisch weitergibst ist er nuir noch so sicher wie die Weitergabe, dann kannst du dir das OTP Geraffel gleich sparen. restmuell schrieb: > Es war die Rede davon, das jedes OTP nur einmal genutzt wird. > Damit entfällt diese Möglichkeit Nei, er wollte einmal einen OTP benutzen, und als Folgeschlüssel dann die entschlüsselten Texte. Die werden aber immer unsicherer, da man immer mehr Daten hat um den OTP herauszufinden, ausserdem muss man beachten, dass es dem Angreifer gerlingen könnte irgendeinen entschlüsselten Text auf anderem Wege zu erhalten, ab dann ist alles folgende praktisch unverschüsselt. Sprich die Idee des TO sollte man ganz schnell vergessen.
Der Andere schrieb: > 1. Ein Schlüssel aus Text ist nicht statistisch gleichmäßig verteilt und > nutzt nur ein Bruchteil der möglichen Codes. Das ist der Punkt. Die Tatsache, dass natürliche Sprachen hochgradig redundant sind ermöglicht ja auch (trotz riesiger Schlüsselräume) die Analyse monoalphabetischer Kryptosysteme durch Auswerten der Buchstaben-Häufigkeiten. Gruß Dennis
Ok, die Sache mit dem Plain-Text muss natürlich umgangen werden, indem z.B. immer die gesamte Schlüssellänge ausgenutzt wird, das macht das Finden von geläufigen Floskeln ev. etwas schwieriger. Zweitens die Sache mit den Auftretens-Häufigkeiten von "Normaltext-Schlüsseln" Das erste "echte" OTP wird genutzt um eine Nachricht zu übertragen. Die Nachricht dient später als erneute OTP. Leider hat sie zunächst das Problem, dass z.b. in deutschen Texten das E überproportional häufig vorkommt und somit statistische Fingerabdrücke hinterlassen würden. Man könnte aber den Schlüssel wieder zu einem echten Pseudorandom-Code machen, in dem zusätzlich ein Glättungsalgorithmus im Sender und Empfänger hinterlegt sein könnte, der den statistisch ungleichmäßig verteilten Text wieder so glattbügelt, dass häufiger vorkommende Buchstaben nach einem Algorithmus so oft durch weniger häufig vorkommende ersetzt werden, bis wieder eine Gleichverteilung entsteht, oder aber z.b. bewußt eine falsche Ungleichverteilung herbeigeführt wird... Wäre das dann wieder sicher?
OTP schrieb: > Wäre das dann wieder sicher? Nein, dadurch bringst Du ja keinen echten, zusätzlichen Zufall in den OTP key.
Wie wäre es, wenn man das Ganze gleich gescheit aufzieht? 1. Zufälligen Master-Schlüssel mittels TRNG oder CSPRNG erzeugen 2. Master-Schlüssel an Sender und Empfänger verteilen 3. Masterschlüssel mit geeignetem Seed/Context an eine kryptographisch sichere KDF übergeben um weitere Schlüssel abzuleiten 4. Nachricht mit abgeleitetem Schlüssel verschlüsseln Der Seed/Context müsste dabei so gewählt sein, dass er sich für jede Nachricht ändert, möglich wäre beispielweise die Nachrichtennummer zu wählen o.ä. Nächste Stufe wären dann das Ganze per asymmetrischer Kryptographie, also z.B. RSAES-OAEP umzusetzen, damit entfällt dann das Problem, dass eine Kompromittierung des Master-Schlüssels alle Sender/Empfänger kompromittiert.
OTP schrieb: > Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart > ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste > Nachricht verwendet wird? Dein Verschlüsselungsverfahren sieht also so aus:
1 | V1 = A ^ K1 |
2 | V2 = K1 ^ K2 |
3 | V3 = K2 ^ K3 |
4 | ... |
Dabei sind A der Anfangsschlüssel, Ki die Klartextnachrichten, Vi die verschlüsselten Nachrichten und ^ der XOR-Operator. Diese Gleichungen kann man durch Umstellen und und gegenseitiges Einsetzen auch so schreiben:
1 | V1 = A ^ K1 |
2 | V1 ^ V2 = A ^ K2 |
3 | V1 ^ V2 ^ V3 = A ^ K3 |
4 | ... |
Substituiert man jeweils
1 | V1 ^ V2 ^ ... ^ Vi = Si |
ergibt sich
1 | S1 = A ^ K1 |
2 | S2 = A ^ K2 |
3 | S3 = A ^ K3 |
4 | ... |
V1, V2, ... und damit auch Si sind dem Angreifer bekannt. Die Gleichungen sehen nun genauso aus, als ob der Absender jedesmal denselben Schlüssel A verwendet hätte und die verschlüsselten Nachrichten S1, S2, ... wären. Dein Verschlüsselungsverfahren ist damit genauso viel (oder wenig) wert wie ein OTP, das für jede übermittelte Nachricht denselben Schlüssel verwendet, da der Angreifer exakt die gleichen Entschlüsselungsverfahren anwenden kann.
OTP schrieb: > soweit ich im Bilde bin, ist die Verschlüsselung mittels OTP so ziemlich > das sicherste, was man überhaupt machen kann Ähmm nein. OTP ist ebenso wenig ein Verschlüsselungsverfahren, wie "Schrödingers Katze" ein physikalisches Experiment ist. > jedoch gibt es das > Problem, dass der Schlüssel zum einen auf beiden Seiten bekannt sein > muss, und zum anderen nur einmal verwendet werden kann. So ist das. Schon die Schlüsselübergabe ist vollkommen unrealistisch. Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel übertragen kann, dann kann man auf eben diesem Kanal auch gleich die Nachricht übertragen. Das andere Problem besteht darin, überhaupt erstmal einen echt zufälligen Schlüssel zu erzeugen. Das ist viel schwieriger als gemeinhin angenommen. OTP ist ein Gedankenexperiment wie man ein Verschlüsselungsverfahren aufziehen müßte, bei dem wirklich keine Information an Unbeteiligte Dritte abfließt. Außer natürlich der Tatsache daß kommuniziert wird und in gewissem Maße auch die übertragene Datenmenge. Der Knackpunkt beim OTP ist, daß wirklich jeder Schlüssel gleich wahrscheinlich ist. Der Schlüssel kann z.B. auch komplett aus Nullen bestehen (dann wird Klartext verschickt). Oder der Schlüssel ist gleich dem Klartext (dann besteht der Geheimtext nur aus Nullen). Dadurch daß der Schlüssel zufällig gleichverteilt ist, ist auch jede mögliche Entschlüsselung gleich wahrscheinlich (sofern sie die richtige Länge hat). Ohne den Schlüssel zu kennen, kann niemand sagen welche Entschlüsselung die richtige ist. Insbesondere könntest du nachher auch daher kommen und einen "Schlüssel" präsentieren der "beweist" daß du nur ein Rezept für Käsekuchen geschickt hast. Und niemand kann beweisen daß das gelogen ist. > Wenn der erste Schlüsselsatz zwischen dem Empfänger und dem Sender > bekannt sind, dann kann genau eine Botschaft verschlüsselt zwischen den > beiden Stellen ausgetauscht werden, genau einmal. Danach darf der alte > Schlüssel nicht nochmal verwendet werden. Ja. Das sind die 3 Grundvoraussetzungen für den OTP: 1. der Schlüssel ist echt zufällig. 2. der Schlüssel ist (mindestens) so lang wie die Nachricht. 3. der Schlüssel wird genau einmal verwendet. Sobald auch nur eine dieser Voraussetzungen verletzt wird, ist es kein OTP mehr und man verliert alle gewünschten Eigenschaften. > Was passiert aber nun, wenn zwischen Sender und Empfänger vereinbart > ist, dass die entschlüsselte Nachricht als Schlüssel für die nächste > Nachricht verwendet wird? Dann ist das kein OTP mehr. Und außerdem sofort anfällig für known plaintext Angriffe. Siehe Yalu.
Axel S. schrieb: > Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel > übertragen kann, dann kann man auf eben diesem Kanal auch gleich die > Nachricht übertragen. Nicht ganz: der große Vorteil ist, dass man, wenn die Schlüssel vorher getauscht wurden, der Zeitpunkt der Nachrichtenübertragung frei gewählt werden kann. Gruß Dennis
Axel S. schrieb: > Schon die Schlüsselübergabe ist vollkommen unrealistisch. > Denn wenn man einen sicheren Kanal hat auf dem man den Schlüssel > übertragen kann, dann kann man auf eben diesem Kanal auch gleich die > Nachricht übertragen. Unsinn, man kann z.B. heute den Schlüssel persönlich übergeben, um übermorgen verschlüsselt über einen unsicheren Kanal zu kommunizieren. Axel S. schrieb: > Das andere Problem besteht darin, überhaupt > erstmal einen echt zufälligen Schlüssel zu erzeugen. Das ist viel > schwieriger als gemeinhin angenommen. In der Praxis begnügt man sich mit hinreichend guten Zufallsgeneratoren. Axel S. schrieb: > Ähmm nein. OTP ist ebenso wenig ein Verschlüsselungsverfahren, wie > "Schrödingers Katze" ein physikalisches Experiment ist. Axel S. schrieb: > OTP ist ein Gedankenexperiment Unsinn, OTP wird/wurde auch in der Praxis verwendet.
ich würde mich mal auf eine fixe "textlänge" einigen z.b. 16KByte die ersten 8KByte Text die zweiten 8KByte der neue Schlüssel zum verschlüsseln verwendet man einfach den Schlüssel zweimal.. edit: ok, blöde idee, das versößt irgendwie gengen das "man darf den schlüssel nur einmal verwenden" ..
:
Bearbeitet durch User
Axel S. schrieb: > OTP ist ein Gedankenexperiment Quark, OTP wurde durchaus real verwendet. vn n. schrieb: > man kann z.B. heute den Schlüssel persönlich übergeben, um > übermorgen verschlüsselt über einen unsicheren Kanal zu kommunizieren. Man muß auch gar keinen Schlüssel übergeben, man muß sich nur auf einen Schlüssel einigen. Zum Beispiel: Nimm Buch soundso, Ausgabe soundso, Seite soundso, der Schlüssel ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf natürlich ebensowenig anderen in die Hände fallen wie ein persönlich übergebener OTP.
Timm T. schrieb: > Axel S. schrieb: >> OTP ist ein Gedankenexperiment > > Quark, OTP wurde durchaus real verwendet. Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder behauptet wird, aber STIMMT das auch? > Zum Beispiel: Nimm Buch soundso, Ausgabe soundso, Seite soundso, der > Schlüssel ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf > natürlich ebensowenig anderen in die Hände fallen wie ein persönlich > übergebener OTP. Natürliche Sprache ist NICHT zufällig! [1] Das ändert sich doch auch nicht wenn du nur jeden x-ten Buchstaben nimmst, oder? Gruß Dennis [1] https://de.wikipedia.org/wiki/Buchstabenh%C3%A4ufigkeit#Buchstabenh.C3.A4ufigkeit_in_ausgew.C3.A4hlten_Sprachen
Dennis S. schrieb: > Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder > behauptet wird, aber STIMMT das auch? https://en.wikipedia.org/wiki/One-time_pad#Historical_uses
Dennis S. schrieb: > Timm T. schrieb: >> Axel S. schrieb: >>> OTP ist ein Gedankenexperiment >> Quark, OTP wurde durchaus real verwendet. > Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder > behauptet wird, aber STIMMT das auch? In bestimmten Kreisen ist es durchaus üblich, dass ganze Konvolute vorgenerierter OTPs mittels Boten ausgetauscht werden. Früher physisch, auf Papier, heutzutage eher auf einem digitalen Träger. Man braucht dazu natürlich einen sehr vertrauenswürdigen Boten, den kriegt man aber in der Regel eher leicht. Noch dazu, wenn ggf. da noch ein Dritter "mitreist", der dem Boten ziemlich genau auf die Finger schaut und weder der Bote selbst noch der Aufpasser da direkt und unmittelbar physischen Zugriff auf den Träger haben. Beispielsweise wird's schwierig, da mal schnell am Klo eine Kopie des - nennen wir's mal USB-Sticks - zu zu ziehen, wenn sich selbiger in einem versiegelten Aktenkoffer befindet, den der "Aufpasser" immer im Blick hat. Normalerweise nimmt man aber auch ein Team von mindestens zwei Boten (damit einer wirklich mal auf's Klo gehen kann, ohne dass der Koffer verschwindet) und dann sind auch mehrere "Aufpasser" im Spiel, wobei es günstig ist, wenn der Bote die Aufpasser nicht auf Anhieb erkennt und im Idealfall sogar die Aufpasser nicht wissen, wie viele sie sind und ob ihnen nicht selbst noch einer im Nacken sitzt. Frueher wars zumindest so. Ob dieser Aufwand in der zwischenzeit durch bessere technische Möglichkeiten reduzert werden konnte weiss ich nicht, aber ich wuerd's immer noch genau so machen. >> Nimm Buch soundso, Ausgabe soundso, Seite soundso, der Schlüssel >> ist jeder dritte Buchstabe aus dem Text. Diese Angabe darf natürlich >> ebensowenig anderen in die Hände fallen wie ein persönlich >> übergebener OTP. > Natürliche Sprache ist NICHT zufällig! Das ändert sich doch auch > nicht wenn du nur jeden x-ten Buchstaben nimmst, oder? Natürliche Sprache oder ähnliches Zeugs will man da schon gar nicht. Die Leute, die wirklich OTP brauchen, und daher auch keine Kosten und Mühen scheuen, den Austauschkanal durch entsprechende personelle Massnahmen weitestgehend zu sichern, haben mit Sicherheit, und dafür verbürge ich mich, auch entsprechende Random-Generatoren stehen. Und das ist sicher kein Schieberegister, das mit einem Pseudo-Random-Gen gefuettert wird, der irgendwo sein salt/seed aus /dev/urand0 abholt, sondern das ist ein echter true-RNG. Hat auch den Vorteil, dass der Zugang zum Generator nicht sonderlich sicher sein muss, eben weil er stets "echten" Zufall erzeugt. Generell will man aber, eben wegen dem Aufwand im Austausch, der wirkungsvoll jedoch nur via Bote erfolgen kann, OTP-Einsatz eher minimieren. Ich kenn's beispielsweise so, dass mit dem OTP ein Key für ein synchrones Verfahren ausgetauscht wird, mit dem dann ueber beispielsweise digitale Leitung kommuniziert werden kann. Dass Mutti da bei Sohnemann anruft, damit er als OTP-Schluessel in der Bibel nachschlaegt und Hiob 3, Vers 17 oder sowas raussucht macht sich zwar im Hollywood-Kino Eindruck, fuehrt die Sache aber generell ad absurdum, denn wenn die Leitung Mutti-Sohn sicher waere, dann koennte man sich das OTP auch komplett sparen. LG, MdB
Daniel H. schrieb: > Dennis S. schrieb: >> Hast du dafür belastbare Quellen? Ich weiß dass das immer wieder >> behauptet wird, aber STIMMT das auch? > > https://en.wikipedia.org/wiki/One-time_pad#Historical_uses Gut die Hälfte davon ist Hörensagen. Und für einige der genannten Fälle (Weimarer Republik) steht in meinen Kryptographie-Büchern daß die Schlüssel richtig mies waren. Die haben da Leute an Schreibmaschinen gesetzt und "zufällige" Texte tippen lassen. Einmal darfst du raten, wie die Verteilung der Buchstaben ist, wenn die immer abwechselnd mit der linken und der rechten Hand getippt haben. Über die Verwendung irgendwelcher Bücher als Pad brauchen wir erst gar nicht zu diskutieren. Die erfüllen schon Kriterium 1 nicht (Zufall). Aus opsec-Gründen wird man den Pad nach der Verwendung auch vernichten wollen. Auch da steht man ausgesprochen dumm da, wenn man etwa die Bibel verwendet. Oder sonst ein Buch von dem es mehr als 2 Exemplare gibt. Andererseits ist die anekdotische Nutzung in Einzelfällen kein Widerspruch zu meinem Wissen. OTP ist kein Verschlüsselungsverfahren mit irgend einer praktischen Relevanz. OTP hat ausschließlich theoretische Bedeutung.
Axel S. schrieb: > Andererseits ist die anekdotische Nutzung in Einzelfällen kein > Widerspruch zu meinem Wissen. OTP ist kein Verschlüsselungsverfahren > mit irgend einer praktischen Relevanz. OTP hat ausschließlich > theoretische Bedeutung. Ich wollte dir auf keinen Fall irgendwie auf die Füße treten! Aber es hat den Anschein, dass die Nutzung vom OTP in der Vergangenheit immer eher halbherzige Krücken waren, statt dem Ideal (mit hohem Aufwand) möglichst nahe zu kommen. Dein letzter Satz bestätigt auch mein Wissen / meine Meinung. Gruß Dennis
ebenso meine Meinung und Wissen! Als Ergänzung: die Bibel als Grundlage für den OTP verletzt alle 3 Grundregeln eines OTPs und damit ist diese Vorgehensweise kein OTP. 1.) nicht zufällig 2.) nicht einmalig verwendet, das schließt auch die Zerstörung des OTPs mit ein! 3.) nicht gleiche Länge zur Nachricht Es gibt aber reale Anwendungen bei dem OTPs technisch benutzt werden. Sehr oft findet man in verschiedenen kryptographischen Protokollen OTPs die mit anderen Verfahren kombiniert werden. Zb. bei Signaturen/Keyexchanges usw. Die Entwickler benutzen hier deshalb OTPs um sich die Beweisführung einer einzelnen Komponente zu erleichtern. Aber auch mit dem Wissen das dann nur diese eine OTP Komponente beweisbar sicher zum theoretischen OTP ist. In Zusammenarbeit mit den anderen Verfahren, in die der OTP eingebettet wurde, wird aber wissentlich die theoretisch erreichbare Sicherheit des OTPs wieder reduziert. Da immer der zufällig erzeugte Schlüssel durch schwächere Verfahren geschützt wird.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.