Unknackbares Verschlüsselungssystem für Texte

Hallo,
kann man folgendem Verschlüsselungssystem auf irgendeine Weise knacken?

Jedem Buchstaben (bzw. Zeichen) ist erstmal eine Zahl zugeordnet, also z. B.
A - 5, H - 3, L - 7, O - 1

Bisher ist es sehr simpel und damit leicht zu knacken.

Was es unknackbar macht ist, dass ein Buchstabe der schon einmal vorkam eine andere Zahl zugeordnet bekommt, z. B. ist das L nach der ersten Benutzung dann plötzlich keine 7 mehr sondern eine 93.

„Hallo“ wäre dann also: 3 5 7 93 1

Sender und Empfänger müssen davor natürlich eine entsprechende Software physisch ausgetauscht haben.

Wie könnte man so eine Verschlüsselung entschlüsseln?

Gruß

Desperado

Hallo,

wenn Dich das Thema interessiert, würde ich das Buch Cryptonomikon von Neal Stephenson empfehlen.
Ist auch unabhängig von der Thematik sehr lesenswert.

Gruß,
Paran

1 Like

Wenn die Sequenz vorher festgelegt und an den Empfänger gesendet wird, dann ist das sowas wie ein One-Time-Pad. Das ist nur zu knacken, wenn man in den Besitz des Schlüssels kommt.

Unknackbar gibt es nicht.

Die Frage ist aber, wie der Empfänger die Dekodierungstsbelle erhält. Oder ist das ein Berechnungsalgorithmus?

1 Like

Hallo,
wenn es wie beschrieben umgesetzt wird, dann ist zumindest natürliche Sprache sehr leicht zu entschlüsseln. Aufgrund der Buchstabenhäufigkeit wird der häufigste Buchstabe auf immer größere ganze Zahlen abgebildet. Relativ dazu sind seltene Buchstaben kleine ganze Zahlen. Zwei simple Intervalle geben also sofort Aufschluß auf die häufigsten und seltensten Buchstaben, bei genügend langen Nachrichten zumindest.

3 Like

Arbeitet die Software nach einem Algorithmus oder wendet sie nur einen extern angegebenen zufällig generierten Einmal-Schlüssel an?
Falls letzteres, ist der einzige Schwachpunkt, dass der Schlüssel vorher zum Sender und zum Empfänger gelangen muss, d.h. man würde versuchen, den Schlüssel bei der Übermittlung irgendwie zu kopieren oder zu manipulieren.

Wird die Zuordnung durch einen Algorithmus gesteuert, dann lässt sich die Software analysieren, und man gewinnt Erkenntnisse, wie der neue Code eines Zeichens berechnet wird.
Eine Schwäche des Verfahrens wäre auf jeden Fall, dass der Code des (n+1). Zeichens aus einem der n vorherigen Zeichen errechnet worden sein muss, wenn n die Größe des Zeichenvorrats ist, aus dem die Nachricht gebildet wird.
Außerdem macht jedes Wissen über die Struktur der Nachrichten eine derartige Verschlüsselung leichter angreifbar. Wenn man z.B. weiß, dass jede verschlüsselte Nachricht von dir mit der Zeichenfolge „Gruß, Deperado“ endet, oder wenn es andere charakteristische Zeichenfolgen gibt (z.B. kommt häufig „wer-weiss-was“ vor), dann schränkt das den Suchraum bei einem Brute-Force-Ansatz u.U. genügend ein, dass eine Entschlüsselung möglich wird.
Auf diese Weise konnte im zweiten Weltkrieg die Enigma-Verschlüsselung erfolgreich angegriffen werden.

Gruß, KHK

2 Like

Gerade gesehen … hattest Du ja schon in der Fragestellung erwähnt.

Das ist in meinen Augen etwas zu undifferenziert.

Wenn man unter Code „knacken“ versteht, einen Code auch ohne den zugehörigen, für den Empfänger bestimmten Schlüssel zu entschlüsseln, dann sind One-Time-Pads tatsächlich unknackbar.

Meiner Meinung nach ist es in meinen Augen zumindest diskussionswürdig, ob man immer noch von Code „knacken“ sprechen kann, wenn man einen One-Time-Pad-Code unter Verwendung eben jenes One-Time-Pads entschlüsselt. Weil dann wendet man ja exakt die Methode an, die auch der ursprünglich bestimmte Empfänger anwendet. Und da spricht man schließlich auch von entschlüsseln und nicht von „knacken“.

Das heißt in diesem Sinne sind One-Time-Pads zwar unknackbar, aber deshalb natürlich nicht zu 100% sicher, da immer die Gefahr besteht, dass der Schlüssel in die falschen Hände gerät.

Der langen Rede kurzer Sinn:

Unknackbar gibt es schon. 100% sicher gibt es nicht.

2 Like

Moin,

in meiner Jugend hatte ich mich mal mit dem Thema Verschlüsselung auseinander gesetzt.
Mein Fazit damals: je aufwendiger ein Schlüssel ist, desto schwieriger ist dieser dann zu dechiffrieren. Nur wenn der Schlüssel zum (vorangestellt dem) Wirrwarr entschlüsselt wurde, dann ist das alles wieder dahin.
(einfaches) Beispiel: HALLoDesPeRadoSchon aufSDAtumGeSChaut?eSSes_81_39_91_11
Schlüssel ist: 1. H bedeutet: Schlüssel steckt im 8. Zeichen = „s“
Schlüssel ist nun: „s“ - kleines s bedeutet, dass z.B. jeder Buchstabe, jede Zahl genau 9 mehr erhält und Anordnung 3vor 1zurück gilt. Text startet ab dem nächsten kleinen s.

Allerdings wusste ich da noch nix von einer Enigma…

Sehe ich anders.

Es gibt für mich grundsätzlich nur eine sinnvolle Art pauschaler Aussage … jene die besagen, dass jede pauschale Aussagen falsch sind.

So auch bei der Verschlüsselung. Bestenfalls ist nach aktuellem Kenntnisstand keine Möglichkeit bekannt, eine bestimmte Logik zu knacken. Meistens ist das dann auch noch eingeschränkt auf ein „mit aktuell verfügbarer Hardware nicht in einem überschaubaren Zeitraum knackbar“. Hinzu kommt noch die Möglichkeit, dass es jemanden doch gelungen ist, etwas zu knacken, das aber nicht kommunizieren möchte.

Von daher ist erstmal jeder Code knackbar. Einschränkend wirken Zeit, Aufwand und Kenntnisstand.

Einem guten One-Time-Pad liegt keine Logik zugrunde. Das ist einfach nur eine Liste von Zufallswerten.

2 Like

Stimmt, wenn es genau wie beschrieben umgesetzt werden würde. Könnte man aber leicht umgehen indem man bereits mit zehnstelligen Zahlen beginnt und diese nach Zufallsprinzip größer oder kleiner werden.

Aber damit würde man es doch immer noch genau wie beschrieben umsetzen. Da die genannte Zahlensequenz explizit als Beispiel gekennzeichnet ist, kann auch jede andere Sequenz verwendet werden - einschließlich zehnstelliger Zahlen mit zufälliger Reihenfolge. Die Beschreibung ist in diesem Punkt lediglich unvollständig. Es fehlt die Forderung, dass die Zuordnung zufällig sein muss und keine Zahl mehrfach verwendet werden darf.