Einzelnen Beitrag anzeigen

Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

Entschlüsseln eines überlagerten Strings (Arrays)

  Alt 12. Nov 2010, 14:47
Einen schönen Tag,

ein Kumpel hat mir folgende Aufgabe gestellt, und ich habe noch keine Lösung dafür. Es handelt sich um sportliche Kryptographie (), vielleicht hat eine(r) von Euch eine Inspiration für mich...

Er hat sich folgendes ausgedacht:

1. Zunächst bilden wir Buchstaben auf Zahlen ab, z.B. mithilfe der alten ASCII-Tabelle (Buchstaben, Zahlen und ein paar Sonderzeichen reichen aus). Wir erhalten also Zahlen zwischen 0 und 127 pro Zeichen.

2. Dann bauen wir die Nachricht zusammen. ABBA würde also zu einem Array derart werden: (65, 66, 66, 65).

3. Wir erzeugen ein Nullen-Array beliebiger Länge R = (0, 0, 0, 0, 0, 0, 0, 0, 0).
3.1 Wir wählen eine beliebige Position innerhalb des Arrays und addieren den ASCII-Wert der Buchstaben unserer Nachricht auf die Werte der korrespondierenden Stellen in R.

Beispiel:
Wir wählen die Stelle 1 und addieren ABBA auf R:
Code:
(0, 0, 0, 0, 0, 0, 0, 0, 0) +       // Leeres Array
(65,66,66,65) =                     // Stelle 1
(65,66,66,65, 0, 0, 0, 0, 0)        // Zwischenergebnis
3.2 Wir machen das ein paar mal.... (wie oft genau ist beliebig)

Beispiel (wir wählen die Stelle 3 und dann noch die Stelle 6 und addieren jeweils ABBA drauf (auch gern mehrmals auf die selbe Position)):
Code:
(65,66,66, 65, 0, 0, 0, 0, 0) +     // Zwischenergebnis von eben
(0, 0, 65, 66, 66,65) +             // Stelle 3
(0, 0, 0, 0, 0, 65,66,66,65) =      // Stelle 6
(65,66,131,131,66,130,66,66,65)     // Endergebnis

Das Endergebnis (65,66,131,131,66,130,66,66,65) wird dann übermittelt.
Die Aufgabe besteht darin, den Klartext ABBA wiederherzustellen.

Der Klartext braucht nicht natürlichsprachig zu sein, sondern z.B. eine Base64-Kodierung einer Datendatei.

Die Länge des Klartextes sei bekannt (öffentlich, kein Geheimnis). (In diesem Beispiel ('ABBA') ist sie gleich 4)
Dennoch finde ich keine Herangehensweise an die Lösung. Insbesondere Durchprobieren erscheint sehr komplex, wenn die Klartextlänge groß wird (--> 500 Zeichen o.ä.)

Hat jemand ne Idee?
Es gibt auch ein Eis als Belohnung (... für einen zuverlässigen Algorithmus)

Schöne Grüße
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat