Dateianalyse bei unbekannter Verschlüsselung

Hallo liebe Experten,
aus einer Laune heraus habe ich ein kleines Verschlüsselungsprogramm geschrieben. Ich hab von Verschlüsselungen allerding keine Ahnung, hab nur getestet, ob die Entschlüsselung klappt und das tut sie. Ich wollte fragen, ob man anhand der Dateistruktur erkennen kann, welche Verschlüsselungen in Frage kämen, wenn man versuchen wollte, die Datei zu entschlüsseln. Wie würde man rangehen?
Hier ist die verschlüsselte Datei: http://www2.zippyshare.com/v/zDYjK7aD/file.html
Bin auf Antworten gespannt!
Gruß Timo

Nein. Bei richtigen Verschlüsselungen hat der transportierte Inhalt vollständige Entropie.
Ergänzende Strukturen können enthalten sein, um Metainformationen zu ergänzen, die den Transport, die Verwaltung und die Identität des Absenders sicherstellen. Schließlich muss eine geheime Information auch den Empfänger erreichen und der muss sicherstellen können, dass die Nachricht vom Absender stammt. Diese Informationen sind für gewöhnlich nicht geheim. (Oder werden dann selbst zum geheimen Inhalt, der in einen weiteren, unverschlüsselten „Umschlag“ gesteckt wird.)

Die „Verschlüsselung“ kann man höchstens bei Lehrbeispielen wie der Cäsar-Verschlüsselung oder anderen Substitutionsverfahren erkennen.

Dein Beispiel ist halt kein praxisrelevanter Fall. Denn dort geht man immer davon aus, dass der Angreifer das genutzte Verfahren kennt, aber nicht den geheimen Schlüssel.
Wenn es auf Seiten von Absender und Empfänger ein hinreichend großes „Geheimnis“ gibt, kann man ohnehin unknackbar verschlüsseln.

Ciao, Allesquatsch

Hi!
Danke für diese Antwort, wirklich interessant! Ich habe die Frage deshalb gestellt, weil es Leute zu geben scheint, die eben das können, nämlich anhand der Datenstruktur Verschlüsselungen erkennen. Ich Hab das in einem Modding-Forum beim Reverse-Engineering miterlebt.
Bei meinem Beispiel ist die Verschlüsselung wie folgt:
Grundlage bildet ein Keyword. Die entsprechende Hex-Zahl (der ASCII-Code) gibt einen Byte-Shift nach vorne an für ein aktuelles Byte. Für das nachfolgende Byte gilt der Shift des nächsten Zeichens des Keyword und so weiter. Nach dem Shift des letzten Zeichens wird beim nächsten Byte wieder von vorne begonnen.
Hat die Verschlüsselung einen Namen oder hab ich mir die nur selbst ausgedacht? Wie schwer ist es, sowas zu knacken, wenn man weder die Länge des Keywords, noch die entschlüsselten Daten kennt?

Mit Verlaub, hier dürftest Du irgendwas falsch verstanden haben.
Spätestens die Gegründung Reverse-Engineering macht das klar. Das ist nämlich die Analyse des Programmcodes zur Rückermittlung des Algorithmus und keine Analyse des Geheimtextes.

Natürlich gibt es Fragestellungen, die mit kurzen Geheimtexten nach Verschlüsselungsalgorithmus und Klartext fragen. Aber das ist heutzutage was für die Knobelecke und hat nichts mit aktueller Kryptologie zu tun.

Wenn Du Zweifel an meinen Aussagen hast, würde ich Dir empfehlen, lieber in Deinem Modding-Forum nachzuforschen.

Ja, Deine Erfindung so ähnlich seit gut 400 Jahren bekannt.

Ich denke, Du meist bitweises Shiften. Shiften ist aber eine ungeeignete Methode, weil die Bits erhalten bleiben. Vielleicht meinst Du bitweises XOR oder Addition?

Die große Schwachstelle ist dabei, dass die Länge des Schlüsseltextes im Geheimtext erkennbar bleibt. Wenn der Geheimtext n Stellen lang ist, erkennt man die klassischen Buchstabenhäufigkeiten in jedem n-ten Zeichen. Danach lässt sich jede einzelne Stelle des Geheimtextes ermitteln.

Wenn die Länge des Schlüsseltextes genauso lang wie der Geheimtext ist diese Verschlüsselung nicht knackbar, wenn nur ein Geheimtext vorliegt.
Bei erneuter Verwendung gibt es wieder das Problem, dass die Buchstabenhäufigkeiten in allen n-ten Zeichen (n = 1 bis Länge Geheimtext) gleich ist.

Ciao, Allesquatsch