Henryk Plötz: Wie String Ver- und Entschlüsseln?

Beitrag lesen

Moin,

Ich vermute mal, dass du hiermit Deine möglich Karriere als Kryptologe vorzeitig beendet hast.

Schätzchen, du solltest einem Gärtner nichts über's Bäumepflanzen erzählen. Einfach nur die Länge der Ausgabezeichen zu vergrößern bewirkt im besten Falle nichts, macht den Algorithmus aber im schlechtesten Fall unsicherer. Im klassischen Fall wo du für jedes Eingabezeichen ein Ausgabezeichen der gleichen Länge generierst muss die Abbildung notgedrungenermaßen so aussehen dass jedes mögliche Ausgabezeichen entstehen kann, und wenn der Algorithmus nicht vollkommen bekloppt ist sind die auch ordentlich gleichverteilt, d.h. für jedes mögliche Ausgabezeichen gibt es ein Eingabezeichen welches (einen passenden Schlüssel vorausgesetzt) dieses erzeugt.

Wenn du nun die Länge der Ausgabezeichen erhöhst gibt es zwei mögliche Fälle: a) Es sind jeweils nicht alle Ausgabezeichenkombinationen möglich, sondern nur soviele wie man vorher auch mit einem Zeichen hätte darstellen können. Dann sieht das zwar komplizierter aus, ist aber letztlich genauso kompliziert wie der normale Fall indem man sich einfach ein neues Alphabet definiert und deine merkwürdigen längereren Zeichen darauf abbildet. Das ist Security by Obscurity: es sieht irre kompliziert aus, wenn man den Algorithmus aber nicht geheimhält fällt es ganz schnell auf den normalen Fall zusammen.
b) Es gibt mehr Ausgabezeichenkombinationen als Eingabezeichen. Dann gibt es offensichtlich Ausgabezeichenkombinationen die nur von einer oder wenigen Eingabezeichen/Schlüsselkombination erzeugt werden können -> diese sind besonders schwach und können leichter zurückgerechnet werden.

Es gibt zwar Möglichkeiten wie man durch Verlängerung der Ausgabe die Sicherheit erhöhen kannst, aber das geht nicht durch plumpes Aufblasen der Zeichenlänge. Denkbar wäre etwa jedes Eingabezeichen [latex]x[/latex] auf [latex]X_1 || X_2[/latex] mit [latex]X_1 = r \wedge K_1, X_2 = r \wedge K_2 \wedge x[/latex], [latex]r[/latex] zufällig abzubilden ([latex]K_1[/latex] und [latex]K_2[/latex] sind jeweils Schlüsselzeichen, die zum Beispiel zu einer Stromchiffre gehören). Das kann unter Umständen schwieriger zu brechen sein als einfaches [latex]x \wedge K_2[/latex] (bin mir noch nicht ganz sicher) aber wenn dem so ist, dann sollte man offensichtlich bei jedem Eingabezeichen die längere Form nehmen, weil man sonst bei allen Zeichen wo man das nicht tut etwas Sicherheit 'verschenkt'.

Es geth doch bei der Verschlüsselung gerade nicht nur um die Übertragung mathematischer Verfahren, sondern um die Unterbindung der Entschlüsselungm und dies mit allen denkbaren Mitteln.

Ja, und die Chiffre versehentlich schwächer zu machen mag zwar ein denkbares Mittel sein, sicher aber kein geeignetes.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~