Zitat:
bei deinem Cipher kannst du prüfen, ob die entschlüsselung korrekt ist. (oder?).
das kannst du aber hier nicht so einfach, da alle "entschlüsselungen" rein von den daten her korrekt sein könnten.
Ok. Wenn wir ohne das Passwort NICHT überprüfen können ob eine Verschl. korrekt ist, WIE machen wir das dann ? Egal welchen Cipher wir betrachten wir "Probieren alles durch" wir machen eine Brute Force Attacke. Die Frage ist nun, wie groß wäre der Aufwaqnd dieses Angriffes ? Und diese Frage habe ich oben beantwortet.
Dein Verfahren ist einfach zu wenig komplex. Nicht nur zu wenig komplex als Algorithmus betrachtet (das haben wir ja noch garnicht gemacht) sondern einfach schon auf Grund der Daten die wir verarbeiten.
Beispiel: Wir benutzen das Verfahren um ein Passwort in einen Sesionkey zu verwandeln. Das Passwort selber darf nur 1 Symbol groß sein. Bei deinem Verfahren gibts also nur 250000 mögliche Passwörter und bei AES eben 2^128.
Siehe es einfach mal so:
Eine Verschl. ist wie eine Hashfunktion nur das man hier mit Hilfe eines Passwortes den Prozess umkehren kann, im Gegensatz zu einer Hashfunktion. Wenn wir das Passwort NICHT haben dann wird aus unserer Verschl. Funktion defakto eine Hashfunktion. Um eine Hashfunktion zu knacken müssen wir Kollisionen erzeugen. Um einen Cipher zu knacken müssen wir aus den Daten-Symbolen ein Passwort erzeugen. Bei beiden Verfahren ist also erstmal entscheidend wie Komplex unsere Symbol sind, dh. im Endeffekt wieviele unterschiedliche Symbol gibt es in unserem Set und wie werden sie auf andere Symbole transformiert. Bei AES transformiert unsere Verschl.algo. also 2^128 mögliche Symbol in 2^128 andere Symbole. Bei deinem Verfahren aber nur 2^18 in 2^18 andere, das ist bei weitem zu wenig um eine Brute Force Attacke auschließen zu können. Das bedeutet also das eine Brute Force Attacke, als Angriff der die schlechteste Komplexität hat gegenüber anderen Angriffen, durchaus im Bereich des machbaren bei deinem Verfahren liegt. Dies ist inakzeptabel für heutige Verfahren !
Ich habe also noch garnicht konkret angefangen dein Verfahren zu zerlegen, sondern habe einfach nur im Vorhinein analysiert wie maximal komplex dein Verfahren überhaupt sein kann. Ist diese Komplexität nicht größer als 2^128 so kann mann sagen "unsicher".
Gruß Hagen